jueves, 25 de noviembre de 2004

Actualización de seguridad del kernel Linux

Se publica una actualización del kernel Linux 2.4, solucionando varios
problemas de seguridad relacionados con la carga de ejecutables ELF.

Linux es un sistema operativo "Open Source" muy popular, tipo UNIX, con
una penetración muy amplia en entornos servidor y creciente en entornos
de escritorio.

Las versiones no actualizadas de los Kernel Linux contienen varias
vulnerabilidades en la carga de ejecutables en formato ELF, que es el
estándar más difundido en entornos tipo UNIX.

Las vulnerabilidades en el cargador ELF son las siguientes:

* Verificación incorrecta del valor de retorno de la función
"kernel_read()".

* Gestión incorrecta de errores en caso de fallo en la ejecución de
"mmap()".

* Gestión incorrecta de errores en el mapeo en memoria del segmento
"interpreter" del ejecutable ELF.

* No se comprueba que el ejecutable ELF contenga un nombre de intérprete
terminado correctamente con un byte nulo ("\0").

* Bajo ciertas circunstancias, puede ser posible leer ejecutables ELF
sin permiso de lectura, pero sí de ejecución.

Estas vulnerabilidades son más fácilmente explotables en situaciones de
alta carga, especialmente alta ocupación de memoria. También hay que
señalar que, en mayor o menor medida, afectan a todas las arquitecturas.

La combinación de estos errores pueden provocar desde la ejecución de
código con permisos de administrador o "root" (combiándola con la
ejecución de binarios SETUID) hasta la caída del sistema.

La versión 2.4.28 del kernel Linux soluciona estos problemas. Se
recomienda a todos los administradores de máquinas Linux 2.4 que
actualicen, sobre todo si dan servicio a usuarios locales no confiables.

Estas vulnerabilidades afectan también a la rama 2.6 del Kernel Linux,
pero todavía no se ha publicado una actualización oficial. Los
administradores preocupados pueden probar a instalar la versión no
oficial "2.6.10-rc2" o superior.


Jesús Cea Avión
jcea@hispasec.com


Más información:

Linux 2.4.28 ChangeLog
http://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.28

Linux kernel binfmt_elf loader vulnerabilities
http://www.isec.pl/vulnerabilities/isec-0017-binfmt_elf.txt