wifi: iwlwifi: mvm: fix P2P-Device binding handling
- 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 6.6.160, 6.6, 6.12.114, 6.18.53
- 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: iwlwifi: mvm: fix P2P-Device binding handling Our binding handling for P2P-Device can run into the following scenario, as observed by our testing: • a station interface is connected on some channel • the P2P-Device does a remain-on-channel (ROC) on that channel • the ROC ends, and the P2P-Device is removed from the binding, but the phy_ctxt pointer is left around as a PHY cache so we don't need to recalibrate to the channel again and again in case it's not shared • a binding update by the station interface, even a removal, will re-add the P2P-Device to the binding • the P2P-Device is removed, which removes the PHY context, but it's still in the binding so the firmware crashes Since the P2P device is removed from the binding and only re- added by unrelated code, but we want to keep the phy_ctxt around as a cache for future ROC usage, fix it by adding a boolean that indicates whether or not the P2P-Device should be added to the binding, and handle that in the binding iterator. That way, the station interface cannot re-add the P2P-Device to the binding when that isn't active.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 64c277f6329818db3124c9759cb9acf0f6070a54 · fixed in 50bf37362362c8f03ab1aeab866b7fb08b262204; From 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 · fixed in 8575514a979490c9d4517fcf19b4e19119c27702; From 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 · fixed in 7be2fc679c8f657868988e41c0bb15bf5a454620; From 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 · fixed in b74e377cad9271950c57472867c469e4b5b2ff0c; From 6.6.2 · fixed in 6.6.160; From 6.5.12 · fixed in 6.6
- Linux Linux
6.7
- KernelLinux
fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; fixed in 6.18.53