CVE-2026-98292 in Linux
Resumen
por VulDB • 2026-10-06
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
Bluetooth: btmtksdio, btmtkuart: validar la longitud del evento WMT antes de acceder a la estructura
btmtksdio.c y btmtkuart.c convierten directamente un evento WMT recibido en una struct btmtk_hci_wmt_evt y leen sus campos op/flag sin verificar que el evento sea lo suficientemente largo para contenerlos, a diferencia de btmtk.c. El caso FUNC_CTRL luego convierte nuevamente la estructura en struct btmtk_hci_wmt_evt_funcc y lee su campo status de 2 bytes, también sin una verificación de longitud. Un firmware que envía un evento WMT corto o malformado hace que ambos controladores lean más allá del final del SKB recibido.
Imitar el comportamiento de btmtk.c: validar la cabecera base WMT con skb_pull_data() antes de tocar cualquiera de sus campos, y cuando un evento FUNC_CTRL resulta ser la forma corta, solo de cabecera (un ack simple de habilitación/deshabilitación sin palabra de estado), decodificar el resultado a partir del byte flag propio de la cabecera en su lugar (0 = éxito, cualquier otro valor = fallo).
Configuración verificada en MT7920, MT7921, MT7922 y MT7925: sin regresiones.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.