wifi: rtlwifi: fix memory leaks and invalid access at probe error path
- 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.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.76, 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
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: fix memory leaks and invalid access at probe error path Deinitialize at reverse order when probe fails. When init_sw_vars fails, rtl_deinit_core should not be called, specially now that it destroys the rtl_wq workqueue. And call rtl_pci_deinit and deinit_sw_vars, otherwise, memory will be leaked. Remove pci_set_drvdata call as it will already be cleaned up by the core driver code and could lead to memory leaks too. cf. commit 8d450935ae7f ("wireless: rtlwifi: remove unnecessary pci_set_drvdata()") and commit 3d86b93064c7 ("rtlwifi: Fix PCI probe error path orphaned memory").
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in 85b67b4c4a0f8a6fb20cf4ef7684ff2b0cf559df; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in 455e0f40b5352186a9095f2135d5c89255e7c39a; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in b96371339fd9cac90f5ee4ac17ee5c4cbbdfa6f7; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in ee0b0d7baa8a6d42c7988f6e50c8f164cdf3fa47; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in 624cea89a0865a2bc3e00182a6b0f954a94328b4; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in 32acebca0a51f5e372536bfdc0d7d332ab749013; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in 6b76bab5c257463302c9e97f5d84d524457468eb; From 0c8173385e549f95cd80c3fff5aab87b4f881d8d · fixed in e7ceefbfd8d447abc8aca8ab993a942803522c06
- Linux Linux
2.6.38
- KernelLinux
From 2.6.38 · fixed in 5.4.291; From 5.5.0 · fixed in 5.10.235; From 5.11.0 · fixed in 5.15.179; From 5.16.0 · fixed in 6.1.129; From 6.2.0 · fixed in 6.6.76; From 6.7.0 · fixed in 6.12.13; From 6.13.0 · fixed in 6.13.2
References 8
git.kernel.org
- stable/c/85b67b4c4a0f8a6fb20cf4ef7684ff2b0cf559df
- stable/c/455e0f40b5352186a9095f2135d5c89255e7c39a
- stable/c/b96371339fd9cac90f5ee4ac17ee5c4cbbdfa6f7
- stable/c/ee0b0d7baa8a6d42c7988f6e50c8f164cdf3fa47
- stable/c/624cea89a0865a2bc3e00182a6b0f954a94328b4
- stable/c/32acebca0a51f5e372536bfdc0d7d332ab749013
- stable/c/6b76bab5c257463302c9e97f5d84d524457468eb
- stable/c/e7ceefbfd8d447abc8aca8ab993a942803522c06