Vulnerabilidad en e2fsck que se manifiesta al procesar directorios diseñados específicamente

En la utilidad e2fsck, que se ofrece con el paquete para crear sistemas de archivos:, se ha detectado vulnerabilidad (CVE-2019-5188), que permite la ejecución de código malicioso durante la verificación del sistema de archivos que contiene directorios especialmente diseñados. La vulnerabilidad ha sido confirmada en las versiones de 1.43.3 a 1.45.4. La vulnerabilidad se ha resuelto en la actualización e2fsck 1.45.5. En las distribuciones, el problema aún permanece sin solución (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

La vulnerabilidad es causada por un error en la función mutate_name() del archivo rehash.c, utilizada para reconstruir las tablas hash relacionadas con el directorio que manejan la coincidencia de todos los archivos en él. La corrupción de la estructura hash_entry relacionada con el directorio puede llevar a la escritura de datos del atacante en áreas fuera del búfer asignado. Si se detectan en la tabla hash varias vinculación de archivos con el mismo nombre, la utilidad e2fsck renombra los archivos duplicados añadiendo ~0, ~1, etc. Al renombrar temporalmente, se asigna un búfer de 256 bytes en la pila para almacenar el nuevo nombre.

El tamaño de los datos copiados se determina por la expresión «entry->name_len & 0xff», pero el valor entry->name_len se carga desde la estructura en disco, no se calcula en base al tamaño real del nombre. Si el tamaño es cero, el índice del arreglo toma el valor -1, creando condiciones para un desbordamiento entero por el límite inferior del búfer (integer underflow) y sobrescribiendo otros datos en la pila con el valor «~0». Para sistemas de 64 bits, la explotación de la vulnerabilidad se considera improbable y requiere que no haya restricciones en el tamaño de la pila (ulimit -s unlimited). Para sistemas de 32 bits, la explotación se considera posible, pero el resultado depende en gran medida de cómo se compiló el archivo ejecutable.

Para llevar a cabo un ataque, el atacante necesita dañar los datos en la partición con FS ext2, ext3 o ext4 de una manera específica. Dado que esta operación requiere privilegios de superusuario, la vulnerabilidad representa una amenaza durante la verificación de dispositivos externos o imágenes de FS obtenidas externamente con la utilidad e2fsck.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster