staging: rtl8723bs: fix mismatched free of HalData in rtw_sdio_if1_init()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix mismatched free of HalData in rtw_sdio_if1_init() padapter->HalData is allocated via vzalloc(), but incorrectly freed using kfree() in the rtw_sdio_if1_init() error path. Using kfree() to release this vmalloc-backed buffer can lead to memory corruption. Use rtw_hal_data_deinit() to pair the free correctly and free HalData with vfree(). The bug was first flagged by an experimental static analysis tool we are developing for kernel memory-management bugs. Manual inspection confirms that the issue is still present in current mainline. An x86_64 allyesconfig build showed no new warnings. As we do not have suitable RTL8723BS SDIO hardware to test with, no runtime testing was able to be performed.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in ff6d1ba247b5c62bdb678f1069abc86ad88a1402; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in d6158333d630a1b21d8914feaf77a6f5deb185d9; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 6c017ab2b0e1b60b5be94636c94720347213d78b; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 4520d673d49dabfd42c008a33889251025f7d6d5; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 423574feaed192063ef0cd0813fb85425f39e539; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 737c928ff5092d7e55128a232c231248fc993777; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 911190f0b9511c3c81f2f2484414c1ae26f636b3; From 554c0a3abf216c991c5ebddcdb2c08689ecd290b · fixed in 264676418b726baca7be49171e306b6aa05cceb0
- Linux Linux
4.12
- KernelLinux
From 4.12.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6
References 8
git.kernel.org
- stable/c/ff6d1ba247b5c62bdb678f1069abc86ad88a1402
- stable/c/d6158333d630a1b21d8914feaf77a6f5deb185d9
- stable/c/6c017ab2b0e1b60b5be94636c94720347213d78b
- stable/c/4520d673d49dabfd42c008a33889251025f7d6d5
- stable/c/423574feaed192063ef0cd0813fb85425f39e539
- stable/c/737c928ff5092d7e55128a232c231248fc993777
- stable/c/911190f0b9511c3c81f2f2484414c1ae26f636b3
- stable/c/264676418b726baca7be49171e306b6aa05cceb0