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]
- An integer underflow in the memcpy size argument when offs
Fix this by validating the IE buffer in cfg80211_wext_siwgenie() before storing it.
[drop unnecessary ie_len check, update commit message]