CVE-2026-80731
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: eliminar el relleno con ceros de CAP_SYS_RAWIO en dev_validate_header dev_validate_header() lee dev->hard_header_len directamente al rellenar con ceros las cabeceras cortas de la capa de enlace para los titulares de CAP_SYS_RAWIO: if (capable(CAP_SYS_RAWIO)) { memset(ll_header + len, 0, dev->hard_header_len - len); return true; } Las rutas de envío de paquetes llaman a dev_validate_header() sobre skbs cuyo headroom fue asignado a partir de una lectura anterior de hard_header_len. Si el dispositivo se reconfigura de modo que dev->hard_header_len aumente antes de la validación, el memset escribe más allá del búfer reservado, una escritura fuera de los límites. Esta escritura fuera de los límites queda enmascarada hoy en algunas rutas SOCK_RAW porque el mismo aumento concurrente puede hacer primero que skb_push() supere el headroom reservado y provoque skb_under_panic(). Elimine la rama de relleno con ceros antes de hacer coherentes esas lecturas de hard_header_len, de modo que las correcciones de instantáneas no conviertan un pánico ruidoso en una sobrescritura silenciosa. Esta ruta solo se alcanza para protocolos L2 de longitud variable, donde len < hard_header_len pero len >= min_header_len. Ningún protocolo L2 de longitud variable restante en el árbol implementa header_ops->validate, y el desvío CAP_SYS_RAWIO que rellena con ceros y acepta cabeceras cortas no tiene valor real más allá de permitir probar entradas intencionadamente malformadas. Elimine la rama CAP_SYS_RAWIO. Las lecturas restantes de dev->hard_header_len en dev_validate_header() son solo comparaciones y no tienen impacto en la seguridad de la memoria.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HArtículos relacionados
This product uses the NVD API but is not endorsed or certified by the NVD.
La descripción técnica es una traducción nuestra del texto original de NVD, en inglés.
