CVE-2026-80951 in Linux
Resumen
por VulDB • 2026-09-12
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
i3c: master: svc: limitar la carga útil IBI a max_payload_len solicitado
svc_i3c_master_handle_ibi() lee la carga útil IBI del FIFO RX y la almacena en el espacio asignado para IBI. El bucle está limitado por el tamaño del FIFO de hardware (SVC_I3C_FIFO_SIZE), no por el tamaño del espacio reservado.
slot->data apunta al pool de IBIs, cuyo tamaño fue definido por i3c_generic_ibi_alloc_pool() como max_payload_len por cada slot. svc_i3c_master_request_ibi() solo rechaza un valor de max_payload_len mayor que SVC_I3C_FIFO_SIZE, por lo que un controlador puede solicitar uno menor. mctp-i3c solicita 1 byte. Cada llamada a readsb() copia los bytes indicados por RXCOUNT del controlador (hasta 31) sin verificar si exceden el tamaño del slot. Un dispositivo que envía más bytes de los que caben en el slot provoca una escritura fuera de límites sobre slot->data, es decir, una escritura fuera de rango dentro del pool de IBIs.
Se limita el bucle a dev->ibi->max_payload_len y se ajusta cada lectura al espacio restante disponible en el slot, siguiendo la misma lógica que dw-i3c. Un dispositivo aún puede enviar más datos de los solicitados. Se vacían (flush) los bytes sobrantes del FIFO RX para evitar que filtren hacia la siguiente transferencia.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.