wifi: mac80211: validate individual TWT params before driver setup
- 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.15.216, 6.1.183, 6.6.151, 6.12.103, 6.18.44, 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
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: validate individual TWT params before driver setup ieee80211_process_rx_twt_action() only partially validates a received S1G TWT setup frame before queueing it. An individual agreement can therefore reach ieee80211_s1g_rx_twt_setup() with twt->length too short for the full struct ieee80211_twt_params. The individual path passes twt to drv_add_twt_setup(). Both the tracepoint and the driver callback consume the complete parameters block, not merely req_type. Do not pass a short individual agreement to the driver. Broadcast agreements remain unchanged because they are rejected locally after accessing only req_type. [edit commit message to not overclaim lack of validation nor understate driver impact]
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in 92fcd0f30dc8e51f252589b082d46851d295cc1a; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in 09d60d1f72e6598241490eb6c4e97245af895c09; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in ff558072d199c1d641d1561da622e67f780514de; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in ade9e2f0f7f4d3089600ac2af8ef0b91746f923b; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in b558e07708d886acfcf4b0391ed7a8546e81d326; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in 47fb04c3826e1f90271d405523043d6708b9072a; From f5a4c24e689f54e66201f04d343bdd2e8a1d7923 · fixed in 0502d5077e419427d80f4d46ba95d0067f5fb916
- Linux Linux
5.15
- KernelLinux
From 5.15.0 · fixed in 5.15.216; From 5.16.0 · fixed in 6.1.183; From 6.2.0 · fixed in 6.6.151; From 6.7.0 · fixed in 6.12.103; From 6.13.0 · fixed in 6.18.44; From 6.19.0 · fixed in 7.1.8
References 7
git.kernel.org
- stable/c/92fcd0f30dc8e51f252589b082d46851d295cc1a
- stable/c/09d60d1f72e6598241490eb6c4e97245af895c09
- stable/c/ff558072d199c1d641d1561da622e67f780514de
- stable/c/ade9e2f0f7f4d3089600ac2af8ef0b91746f923b
- stable/c/b558e07708d886acfcf4b0391ed7a8546e81d326
- stable/c/47fb04c3826e1f90271d405523043d6708b9072a
- stable/c/0502d5077e419427d80f4d46ba95d0067f5fb916