CVE-2026-97515 in Linux
Resumen
por VulDB • 2026-09-24
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
i3c: master: svc: Prevenir una tormenta de interrupciones (IRQ) por un falso SLVSTART en NPCM845
En los dispositivos NPCM845, cuando un objetivo conectado al bus I3C queda atascado manteniendo SDA a nivel bajo, el controlador informa erróneamente de un evento de interrupción fuera de banda (in-band) correspondiente a una solicitud del maestro (MR). El controlador maneja esta situación emitiendo una condición STOP para restaurar el estado normal del bus.
Sin embargo, la particularidad de hardware SVC_I3C_QUIRK_FALSE_SLVSTART indica que emitir una condición STOP puede activar espúreamente el bit de estado de interrupción SLVSTART. En el caso de las solicitudes del maestro (MR), esto crea un bucle de retroalimentación: el STOP desencadena un nuevo evento SLVSTART, la rutina de manejo de interrupciones (IRQ) se ejecuta nuevamente, el controlador sigue informando de un tipo MR, se emite otro STOP y el ciclo se repite indefinidamente. Esto resulta en una tormenta de interrupciones que puede bloquear la CPU.
Se debe borrar explícitamente el bit de estado SLVSTART después de emitir el STOP dentro del manejador IBI (Interrupt Body) para las solicitudes del maestro, cuando está activada la particularidad SVC_I3C_QUIRK_FALSE_SLVSTART. Esto rompe el bucle de retroalimentación sin afectar al procesamiento normal de SLVSTART, que ya está protegido en el controlador principal de interrupciones mediante la comprobación de que MSTATUS se encuentra en estado SLVREQ.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.