Encuentran vulnerabilidad en Kernel de Linux Encuentran vulnerabilidad en Kernel de Linux

Pasa hasta en las mejores familias

Encuentran vulnerabilidad en Kernel de Linux

por

Pasa hasta en las mejores familias

Recientemente se publicó un exploit que intenta ejecutar código arbitrario en maquinas que corran el sistema operativo Linux, específicamente la vulnerabilidad fue encontrada en los ultimas versiones estables del Kernel, 2.6.30 y 2.6.30.1.

El problema parece ser bastante serio, ya que puede dejar fuera de combate fácilmente los módulos de seguridad SELinux y AppArmor. Se descubrió que la vulnerabilidad esta relacionada con la optimización del compilador y una mala implementación de NET/TUN en el Kernel, permitiendo al atacante utilizar exploits de desreferencia de punteros NULL, a modo ilustrativo y de ejemplo: voy a tu casa y golpeo la puerta, luego me escondo, cuando abres la puerta y vez que no hay nadie te devuelves, pero dejas la puerta abierta y BOOM!! macoy123. Algo similar sucede en el siguiente código que demuestra la vulnerabilidad:

struct sock *sk = tun->sk; // initialize sk with tun->sk
...
if (!tun)
return POLLERR; // if tun is NULL return error

El código parece estar bien, y lo está, pero al pasar por el compilador este lo optimizará provocando la vulnerabilidad.

Este problema habría sido resuelto en el Kernel 2.6.31-rc3, pero tambien existe un parche temporal y es ejecutar en el compilador el siguiente comando:

CFLAGS+= -fno-delete-null-pointer-checks

Fuente: Barrapunto, Threatpost