Linux: wifi: iwlwifi: mvm: fix P2P-Device binding handling
What fixes it
- 50bf37362362c8f03ab1aeab866b7fb08b262204LinuxCVE List
- 8575514a979490c9d4517fcf19b4e19119c27702LinuxCVE List
- 7be2fc679c8f657868988e41c0bb15bf5a454620LinuxCVE List
- 6.6.160LinuxCVE List
- 6.6LinuxCVE 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: 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.
Text from CVE List
Affected versions 13
- Linuxaffected: 64c277f6329818db3124c9759cb9acf0f6070a54 before 50bf37362362c8f03ab1aeab866b7fb08b262204CVE List
- Linuxaffected: 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 before 8575514a979490c9d4517fcf19b4e19119c27702CVE List
- Linuxaffected: 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 before 7be2fc679c8f657868988e41c0bb15bf5a454620CVE List
- Linuxaffected: 84ef7cbe90e9e54c71c1da4e645ba34e1b33da77 before b74e377cad9271950c57472867c469e4b5b2ff0cCVE List
- Linuxaffected: 8ddf2212cfa5d9ef4fd289ce0d9dda728f2160b8CVE List
- Linuxaffected: 6.6.2 before 6.6.160CVE List
- Linuxaffected: 6.5.12 before 6.6CVE List
- Linuxaffected: 6.7CVE List
- Linuxunaffected: all versions before 6.7CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.114 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2CVE List
References 4
- git.kernel.org/stable/c/50bf37362362c8f03ab1aeab866b7fb08b262204Referencevia CVE List
- git.kernel.org/stable/c/8575514a979490c9d4517fcf19b4e19119c27702Referencevia CVE List
- git.kernel.org/stable/c/7be2fc679c8f657868988e41c0bb15bf5a454620Referencevia CVE List
- git.kernel.org/stable/c/b74e377cad9271950c57472867c469e4b5b2ff0cReferencevia CVE List