{"id":"CVE-2026-100076","state":"PUBLISHED","title":"staging: rtl8723bs: fix xmit_frame/xmit_buf leaks on mgnt-frame error paths","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: rtl8723bs: fix xmit_frame/xmit_buf leaks on mgnt-frame error paths\n\nissue_beacon(), issue_probersp() and issue_asocrsp() obtain a management\nxmit_frame together with its xmit_buf from the driver's fixed-size\nmanagement-TX pools via alloc_mgtxmitframe(). On the normal path the frame\nis handed to dump_mgntframe(), which transfers ownership and eventually\nreturns both objects to their pools (the frame and, for beacons, the buf\nin rtl8723bs_mgnt_xmit(); other bufs via the pending-xmitbuf/TX-completion\npath).\n\nSeveral error/edge paths return early after a successful\nalloc_mgtxmitframe() but before dump_mgntframe(), so ownership is never\ntransferred and neither object is freed:\n\n  - issue_beacon(): beacon larger than 512 bytes\n  - issue_probersp(): cur_network->ie_length > MAX_IE_SZ\n  - issue_probersp(): kzalloc() of the SSID scratch buffer fails\n  - issue_asocrsp(): pkt_type is neither ASSOCRSP nor REASSOCRSP\n\nBecause alloc_mgtxmitframe() removes the frame and buf from their free\nlists (list_del_init) without placing them on any pending list, an\norphaned pair is on no list and referenced by nobody, so it is only\nreclaimed at driver teardown. Repeated hits progressively exhaust the\nmanagement-TX pools until alloc_mgtxmitframe() returns NULL and the\ninterface can no longer send beacons or probe/assoc responses.\n\nFree the frame and buffer on these paths, matching the existing correct\nerror handling in issue_assocreq().","publishedAt":"2026-09-25T13:06:48.057Z","updatedAt":"2026-10-30T12:23:38.744Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"973a629f19c226c8f6080badea7ccf59cc04233f","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"17260b5215d4ced17a733e2c027a76290e476fad","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"2f5e2752c2b4bad01df4523cfe2b41b702c60f00","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"6c9f6a3b9fdd31a0836b681053155b5997c0156e","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"c48e5aa01525577d6b6e782962a5bfb0e1535cb5","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"41b8209376dffbd7b0b85c8bc4697d9166ac62ef","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/rtl8723bs/core/rtw_mlme_ext.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.12","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/rtl8723bs/core/rtw_mlme_ext.c"]}],"references":["https://git.kernel.org/stable/c/973a629f19c226c8f6080badea7ccf59cc04233f","https://git.kernel.org/stable/c/17260b5215d4ced17a733e2c027a76290e476fad","https://git.kernel.org/stable/c/2f5e2752c2b4bad01df4523cfe2b41b702c60f00","https://git.kernel.org/stable/c/6c9f6a3b9fdd31a0836b681053155b5997c0156e","https://git.kernel.org/stable/c/c48e5aa01525577d6b6e782962a5bfb0e1535cb5","https://git.kernel.org/stable/c/41b8209376dffbd7b0b85c8bc4697d9166ac62ef"],"weaknesses":[],"ingestedAt":"2026-10-30T12:40:04.423Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/100xxx/CVE-2026-100076.json","commit":"db8103c5921aac81d5d90efcf3745980dafabf49","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-100076","state":"PUBLISHED","datePublished":"2026-09-25T13:06:48.057Z","dateUpdated":"2026-10-30T12:23:38.744Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.456Z"},"containers":{"cna":{"title":"staging: rtl8723bs: fix xmit_frame/xmit_buf leaks on mgnt-frame error paths","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nstaging: rtl8723bs: fix xmit_frame/xmit_buf leaks on mgnt-frame error paths\n\nissue_beacon(), issue_probersp() and issue_asocrsp() obtain a management\nxmit_frame together with its xmit_buf from the driver's fixed-size\nmanagement-TX pools via alloc_mgtxmitframe(). On the normal path the frame\nis handed to dump_mgntframe(), which transfers ownership and eventually\nreturns both objects to their pools (the frame and, for beacons, the buf\nin rtl8723bs_mgnt_xmit(); other bufs via the pending-xmitbuf/TX-completion\npath).\n\nSeveral error/edge paths return early after a successful\nalloc_mgtxmitframe() but before dump_mgntframe(), so ownership is never\ntransferred and neither object is freed:\n\n  - issue_beacon(): beacon larger than 512 bytes\n  - issue_probersp(): cur_network->ie_length > MAX_IE_SZ\n  - issue_probersp(): kzalloc() of the SSID scratch buffer fails\n  - issue_asocrsp(): pkt_type is neither ASSOCRSP nor REASSOCRSP\n\nBecause alloc_mgtxmitframe() removes the frame and buf from their free\nlists (list_del_init) without placing them on any pending list, an\norphaned pair is on no list and referenced by nobody, so it is only\nreclaimed at driver teardown. Repeated hits progressively exhaust the\nmanagement-TX pools until alloc_mgtxmitframe() returns NULL and the\ninterface can no longer send beacons or probe/assoc responses.\n\nFree the frame and buffer on these paths, matching the existing correct\nerror handling in issue_assocreq()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"973a629f19c226c8f6080badea7ccf59cc04233f","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"17260b5215d4ced17a733e2c027a76290e476fad","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"2f5e2752c2b4bad01df4523cfe2b41b702c60f00","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"6c9f6a3b9fdd31a0836b681053155b5997c0156e","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"c48e5aa01525577d6b6e782962a5bfb0e1535cb5","versionType":"git"},{"version":"554c0a3abf216c991c5ebddcdb2c08689ecd290b","status":"affected","lessThan":"41b8209376dffbd7b0b85c8bc4697d9166ac62ef","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/rtl8723bs/core/rtw_mlme_ext.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.12","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.52","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.6","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/staging/rtl8723bs/core/rtw_mlme_ext.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/973a629f19c226c8f6080badea7ccf59cc04233f"},{"url":"https://git.kernel.org/stable/c/17260b5215d4ced17a733e2c027a76290e476fad"},{"url":"https://git.kernel.org/stable/c/2f5e2752c2b4bad01df4523cfe2b41b702c60f00"},{"url":"https://git.kernel.org/stable/c/6c9f6a3b9fdd31a0836b681053155b5997c0156e"},{"url":"https://git.kernel.org/stable/c/c48e5aa01525577d6b6e782962a5bfb0e1535cb5"},{"url":"https://git.kernel.org/stable/c/41b8209376dffbd7b0b85c8bc4697d9166ac62ef"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:23:38.744Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.12.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.12","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}