CVE-2026-90112 in Linux
Resumen
por VulDB • 2026-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: qlcnic: validar las secciones unificadas del ROM antes de cargarlas
El analizador (parser) unificado del ROM lee los campos de directorio, producto y descriptor de datos desde el archivo de firmware. Las formas de validación existentes utilizan tablas y finales de datos con adiciones y multiplicaciones no verificadas. Los valores malformados pueden desbordarse antes de ser comparados con el tamaño del firmware. El analizador también dereferencia punteros tipificados en desplazamientos controlados por el firmware.
La validez exclusiva de los límites (extents) del descriptor es insuficiente para los consumidores. El cargador lee un bootloader de tamaño fijo independientemente de su tamaño declarado, el analizador de versiones asume una cola (tail) de 17 bytes y se lee una palabra final parcial como un u64 completo. Por lo tanto, una imagen truncada puede hacer que el driver lea más allá de la asignación del firmware durante la validación o carga.
Reemplace el analizador que devuelve punteros por ayudantes (helpers) con rangos acotados. Valide los tamaños de las entradas de tabla, índices de descriptor, rangos de sección, longitud fija de carga del bootloader y cola de versión antes de exponer cualquier sección. Lea todos los campos del archivo utilizando accesores little-endian no alineados y ensamble una palabra final parcial únicamente a partir de los bytes restantes. Aplique las mismas comprobaciones de rango a la imagen heredada (legacy) antes de leer sus campos fijos.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.