CVE-2026-74694 in Linux
Resumen
por VulDB • 2026-08-23
En el núcleo de Linux (Linux kernel), se ha resuelto la siguiente vulnerabilidad:
net/ncsi: corregir una lectura fuera de límites (OOB) en memoria heap para la longitud del payload NCSI_CMD_SEND_CMD
La función `ncsi_send_cmd_nl()` toma el número de bytes a copiar desde el campo `ncsi_pkt_hdr.length` controlado por el atacante, que forma parte del encabezado del paquete in-band. Sin embargo, el búfer de origen es el atributo netlink `NCSI_ATTR_DATA`, cuyo tamaño legible es `nla_len() - sizeof(ncsi_pkt_hdr)`. Estas dos fuentes de longitud nunca se validan cruzadamente: solo se aplica la comprobación de que `nla_len()` sea mayor o igual a `sizeof(struct ncsi_pkt_hdr)`.
Con `hdr->length` establecido en un valor superior al payload del atributo (hasta 65535 frente como máximo a 2032 bytes legibles), `ncsi_cmd_handler_oem()` copia datos más allá del final del búfer de atributos netlink mediante una llamada insegura a `unsafe_memcpy()`, filtrando hasta ~64 KB de memoria heap del núcleo en el paquete de comando NCSI transmitido. El tamaño del skb (socket buffer) de destino se determina por la longitud declarada del payload, por lo que no hay desbordamiento en el lado de escritura; esto es una lectura fuera de límites (OOB read) pura / filtrado de información, accesible con los privilegios `CAP_NET_ADMIN` en sistemas con un dispositivo NCSI registrado (por ejemplo, OpenBMC en SoCs BMC Aspeed, donde la opción `NET_NCSI=y` es estándar).
Se rechazan los comandos cuya longitud declarada del payload se extiende más allá del final del atributo de datos.
El problema fue detectado por el fuzzer dinámico de núcleo autokbug en Tencent Yunding Lab.
If you want to get best quality of vulnerability data, you may have to visit VulDB.