Linux: wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie()
What fixes it
- 269498ce6c1e2132b072aa0c8660404926008f03LinuxCVE List
- 685082f4be77f4657b498ebbe9f942ef65c492cfLinuxCVE List
- 8b921a8993469a3482e0c67b5ce5cb6ce93f5f61LinuxCVE List
- 01cc395cecfaa73134d39fb9a401d9605d8bb2c5LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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]
Text from CVE List
Affected versions 16
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before 269498ce6c1e2132b072aa0c8660404926008f03CVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before 685082f4be77f4657b498ebbe9f942ef65c492cfCVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before 8b921a8993469a3482e0c67b5ce5cb6ce93f5f61CVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before d01f1600e8b075aa17adb751ac9881bb6ee40dccCVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before c970879e03b23a27df42caf7ba506485a165fb96CVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before 01cc395cecfaa73134d39fb9a401d9605d8bb2c5CVE List
- Linuxaffected: f21293549f60f88c74fcb9944737f11048896dc4 before a2f5286ca4f304d3fd469f01b96b518608912a5cCVE List
- Linuxaffected: 2.6.32CVE List
- Linuxunaffected: all versions before 2.6.32CVE List
- Linuxunaffected: 5.10.271 through 5.10.*CVE List
- Linuxunaffected: 5.15.222 through 5.15.*CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2CVE List
References 7
- git.kernel.org/stable/c/269498ce6c1e2132b072aa0c8660404926008f03Referencevia CVE List
- git.kernel.org/stable/c/685082f4be77f4657b498ebbe9f942ef65c492cfReferencevia CVE List
- git.kernel.org/stable/c/8b921a8993469a3482e0c67b5ce5cb6ce93f5f61Referencevia CVE List
- git.kernel.org/stable/c/d01f1600e8b075aa17adb751ac9881bb6ee40dccReferencevia CVE List
- git.kernel.org/stable/c/c970879e03b23a27df42caf7ba506485a165fb96Referencevia CVE List
- git.kernel.org/stable/c/01cc395cecfaa73134d39fb9a401d9605d8bb2c5Referencevia CVE List
- git.kernel.org/stable/c/a2f5286ca4f304d3fd469f01b96b518608912a5cReferencevia CVE List