В ядре Linux устранена следующая уязвимость:
wifi: mt76: mt7996: привязал адрес EEPROM устройства перед копированием EFUSE
mt7996_mcu_get_eeprom() получает назначение блока EFUSE/EXT.
копия с адреса, указанного в ответе MCU (event->addr,
управляемый устройством __le32) и фиксирует только длину копии, но не длину
смещение назначения в dev->mt76.eeprom.data. Злонамеренный или
неисправное устройство может сообщить произвольный адрес и запустить
запись за пределы поля до MT7996_EXT_EEPROM_BLOCK_SIZE байт
eeprom.data. Отклонить ответ, адрес которого поместит копию за пределы eeprom.data
перед получением указателя назначения.
Устройства, которые повторяют запрошенный смещение в пределах границ не затрагивается.
Показать оригинальное описание (EN)
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.