Mostrando entradas con la etiqueta kernel. Mostrar todas las entradas
Mostrando entradas con la etiqueta kernel. Mostrar todas las entradas

13 febrero 2008

Bug Kernel 2.6.17 a 2.6.24 vmsplice

Supongo que todos los que pasais por aquí visitais también Open-Eslack, pero como nunca está de más avisar sobre estos asuntos os informamos sobre una vulnerabilidad en los kernel de la serie 2.6 (de 6.17 a 6.24.1).

El bug permite a un usuario local sin privilegios escalar hasta convertirse en root.




El exploit se aprovecha de un fallo en la llamada al sistema vmsplice(), por que omite un par de validaciones de permisos. +info

Kernels no afectados: 2.6.22.8 o 2.6.23.16 o 2.6.24.2

La soluciónes que tenemos q adoptar serían:
- Parchear nuestro kernel. [Probado]
- Actualizar a uno no afectado. [Probado]
- Compilar el kernel sin soporte vmsplice. [No probado]
- Ejecutar el módulo novmsplice, para desabilitar las llamadas al sistema vmsplice. [No probado]

29 enero 2008

Compilando tu propio Kernel serie 2.6

Compilar nuestro propio kernel nos puede traer bastantes ventajas, y no es necesario esperar a que aparezca una versión precompilada.

Procedo al mini-howto partiendo de la configuración de nuestro kernel previo, siempre podemos configurarlo a nuestro gusto y a nuestras necesidades pero no es el cometido de este manual.

Descargamos el codigo completo de la versión del kernel a compilar, en este caso 2.6.24, y lo descomprimimos.

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
tar xvf linux-2.6.24.tar.bz2


Pasamos nuestra la carpeta del codigo fuente del kernel a /usr/src

mv linux-2.6.24 /usr/src/linux-2.6.24

Vamos hasta el directorio y copiamos la configuración de nuestro kernel previo (2.6.23.8 en mi caso)

cd /usr/src
cp linux-2.6.23.8/.config /usr/src/linux-2.6.24
cd linux-2.6.24


Ahora podemos comprobar los modulos que se cargarán en el kernel, y marcar o desmarcar los que se nos antoje mediante make menuconfig o make xconfig.

y despues compilamos el código e instalamos los modulos

make && make modules && make modules_install

Copiamos la imagen del kernel a nuestro directorio /boot y preparamos una nueva entrada en el lilo.conf para arrancar con él.

cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.24

Añadimos al /etc/lilo.conf

image = /boot/vmlinuz-2.6.24
root = /dev/sda2 #La particion que corresponda
label = 2.6.24
read-only

Reescribimos el mbr

/sbin/lilo -v

Y al reiniciar tendremos disponible nuestra nueva entrada para cargar el nuevo kernel.