Solucionada una vulnerabilidad en el Kernel de Linux que afecta a las ramas 2.2, 2.4 y 2.6

Enero 06, 04 by admin

Una nueva vulnerabilidad afecta al kernel de Linux. En esta ocasión viene provocada por una mala gestión de la memoria en la llamada al sistema de la función mremap(2), al no comprobar correctamente los límites de memoria.

Una noticia aparecida en Barrapunto, comenta lo siguiente:

"Usando una llamada do_mremap() correctamente formada se puede crear un area de memoria virtual con una longitud de 0 bytes e inyectar código en formato hexadecimal o shellcode para ganar privilegios de uid0 ( root ) o ejecutar cualquier código bajo los privilegios del ring0 ( ejecución de nivel del kernel ).
Según Paul , la posibilidad de este compromiso se basa en que el comportamiento del kernel ante una situación de un area corrupta de 0bytes permite predecir el area de memoria que usará y por lo tanto usando cualquier instrucción que encuentre en ese bloque ( por un agujero de memoria en la VMA , memoria virtual )"

Si un atacante consigue explotar esta vulnerabilidad, podría conseguir una escalada de privilegios en el sistema, así como la ejecución de código arbitrario. Algunos tests hechos, demuestran que sería posible conseguir un UID 0 en una shell (privilegios de root). Parece especialmente crítico el Kernel 2.4, por lo que se recomienda actualizar a la versión 2.4.24, aparecida recientemente pasa solucionar este problema. Para las ramas 2.2.x y 2.6.x saldrán parches en breve.

Enlaces relacionados

[Full-Disclosure] Linux kernel mremap vulnerability:
http://lists.netsys.com/pipermail/full-disclosure/2004-January/015198.html

Corregida vulnerabilidad en el núcleo Linux (Barrapunto): http://barrapunto.com/articles/04/01/05/1946217.shtml

http://isec.pl/vulnerabilities04.html

http://isec.pl/vulnerabilities/isec-0013-mremap.txt

This entry no have comments... but you can be first.

Leave a Reply