wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie()
- 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.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 1 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: wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie() The KASAN allocation trace shows that a malformed IE buffer is stored via SIOCSIWGENIE (cfg80211_wext_siwgenie()) without any validation. The crash trace shows that a subsequent SIOCSIWESSID triggers a connection attempt which calls cfg80211_sme_get_conn_ies() to process the stored IE buffer, causing: • An out-of-bounds read in skip_ie() which reads ies[pos+1] (the length byte) past the end of the 1-byte buffer. • An integer underflow in the memcpy size argument when offs returned by ieee80211_ie_split() exceeds ies_len, causing unsigned subtraction to wrap to SIZE_MAX and triggering a fortify panic. Fix this by validating the IE buffer in cfg80211_wext_siwgenie() before storing it. [drop unnecessary ie_len check, update commit message]
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in 269498ce6c1e2132b072aa0c8660404926008f03; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in 685082f4be77f4657b498ebbe9f942ef65c492cf; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in 8b921a8993469a3482e0c67b5ce5cb6ce93f5f61; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in d01f1600e8b075aa17adb751ac9881bb6ee40dcc; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in c970879e03b23a27df42caf7ba506485a165fb96; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in 01cc395cecfaa73134d39fb9a401d9605d8bb2c5; From f21293549f60f88c74fcb9944737f11048896dc4 · fixed in a2f5286ca4f304d3fd469f01b96b518608912a5c
- Linux Linux
2.6.32
- KernelLinux
From 2.6.32 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53
References 7
git.kernel.org
- stable/c/269498ce6c1e2132b072aa0c8660404926008f03
- stable/c/685082f4be77f4657b498ebbe9f942ef65c492cf
- stable/c/8b921a8993469a3482e0c67b5ce5cb6ce93f5f61
- stable/c/d01f1600e8b075aa17adb751ac9881bb6ee40dcc
- stable/c/c970879e03b23a27df42caf7ba506485a165fb96
- stable/c/01cc395cecfaa73134d39fb9a401d9605d8bb2c5
- stable/c/a2f5286ca4f304d3fd469f01b96b518608912a5c