CVE Catalog

CVE-2026-100076

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

5th percentile - higher than 5% of all known CVEs

Summary

In the Linux kernel, the staging rtl8723bs driver has a memory leak on error paths in issue_beacon(), issue_probersp(), and issue_asocrsp(). When an error occurs after a successful alloc_mgtxmitframe() but before dump_mgntframe(), the management xmit_frame and xmit_buf are neither freed nor placed on any list. Repeated occurrences progressively exhaust the management-TX pools until the interface can no longer send beacons or probe/assoc responses.

Risk Assessment

An attacker or adverse network conditions can repeatedly trigger the error paths (e.g., oversized beacon, excessive IE length, invalid packet type), leading to pool exhaustion and denial of service on the wireless interface. This results in loss of Wi-Fi connectivity and requires a driver or system restart.

Recommendation

Update the Linux kernel to a version containing the fix for CVE-2026-100076, which frees the frame and buffer on the affected error paths. If updating is not possible, consider disabling or restricting the rtl8723bs driver on devices exposed to the triggering conditions.

Related vulnerabilities

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix xmit_frame/xmit_buf leaks on mgnt-frame error paths issue_beacon(), issue_probersp() and issue_asocrsp() obtain a management xmit_frame together with its xmit_buf from the driver's fixed-size management-TX pools via alloc_mgtxmitframe(). On the normal path the frame is handed to dump_mgntframe(), which transfers ownership and eventually returns both objects to their pools (the frame and, for beacons, the buf in rtl8723bs_mgnt_xmit(); other bufs via the pending-xmitbuf/TX-completion path). Several error/edge paths return early after a successful alloc_mgtxmitframe() but before dump_mgntframe(), so ownership is never transferred and neither object is freed: - issue_beacon(): beacon larger than 512 bytes - issue_probersp(): cur_network->ie_length > MAX_IE_SZ - issue_probersp(): kzalloc() of the SSID scratch buffer fails - issue_asocrsp(): pkt_type is neither ASSOCRSP nor REASSOCRSP Because alloc_mgtxmitframe() removes the frame and buf from their free lists (list_del_init) without placing them on any pending list, an orphaned pair is on no list and referenced by nobody, so it is only reclaimed at driver teardown. Repeated hits progressively exhaust the management-TX pools until alloc_mgtxmitframe() returns NULL and the interface can no longer send beacons or probe/assoc responses. Free the frame and buffer on these paths, matching the existing correct error handling in issue_assocreq().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS