В ядре Linux устранена следующая уязвимость:
Wi-Fi: mt76: mt7925: проверьте длину skb в запросе тестового режима
В mt7925_tm_query() skb ответа от mt76_mcu_send_and_get_msg()
используется в memcpy без проверки его длины:
memcpy(evt_resp, skb->data + 8, MT7925_EVT_RSP_LEN);
где MT7925_EVT_RSP_LEN - 512. Если прошивка возвращает ответ
короче 520 байт (8 + 512), это читается за пределами данных skb
буфер. Перепрочитанные данные затем возвращаются в пространство пользователя через nla_put().
в mt7925_testmode_dump().
Добавьте проверку длины перед memcpy, чтобы убедиться, что skb содержит
достаточные данные.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: validate skb length in testmode query In mt7925_tm_query(), the response skb from mt76_mcu_send_and_get_msg() is used in a memcpy without validating its length: memcpy(evt_resp, skb->data + 8, MT7925_EVT_RSP_LEN); where MT7925_EVT_RSP_LEN is 512. If the firmware returns a response shorter than 520 bytes (8 + 512), this reads beyond the skb data buffer. The over-read data is then returned to userspace via nla_put() in mt7925_testmode_dump(). Add a length check before the memcpy to ensure the skb contains sufficient data.