wifi: mt76: mt7996: bound the device EEPROM address before the EFUSE copy
- 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.12.112, 6.18.52, 7.2.4
- 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: mt76: mt7996: bound the device EEPROM address before the EFUSE copy mt7996_mcu_get_eeprom() derives the destination of the EFUSE/EXT block copy from the address reported by the MCU response (event->addr, a device-controlled __le32) and clamps only the copy length, never the destination offset into dev->mt76.eeprom.data. A malicious or malfunctioning device can report an arbitrary address and drive an out-of-bounds write of up to MT7996_EXT_EEPROM_BLOCK_SIZE bytes past eeprom.data. Reject a response whose address would place the copy outside eeprom.data before deriving the destination pointer. Devices that echo the requested in-bounds offset are unaffected.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 98686cd21624c75a043e96812beadddf4f6f48e5 · fixed in 4892be1ef0bbe6db6b13bf46cb79b6706bb5b214; From 98686cd21624c75a043e96812beadddf4f6f48e5 · fixed in 388f471ca4758f644394b681ce97677a4d0e772c; From 98686cd21624c75a043e96812beadddf4f6f48e5 · fixed in 9e5abb5e2ade0b6fd0e47209711115d47a255176; From 98686cd21624c75a043e96812beadddf4f6f48e5 · fixed in 6be59da2063d5b3522bfde8aae0487ec095eb384; From 98686cd21624c75a043e96812beadddf4f6f48e5 · fixed in 13b3c29a782033ce4a230be9e5618032813dbcd4
- Linux Linux
6.2
- KernelLinux
From 6.2.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.4