jessica biel naked in my bed
Ayer (10 de febrero de 2008) se dio a conocer un exploit: jessica_biel_naked_in_my_bed.c que afectaba a los kernels que van del 2.6.17 al 2.6.24.
Cualquier usuario con acceso al servidor (ssh, telenet,…) podia compilar y correr tal exploit, ganando, como consecuencia, id de superusuario.
En mi caso (obteniendo el código en slashdot), el exploit me funcionó en un sistema debian:
[aramirez@debian]~> ./jessica_biel_naked_in_my_bed
———————————–
Linux vmsplice Local Root Exploit
By qaaz
———————————–
[+] mmap: 0×0 .. 0×1000
[+] page: 0×0
[+] page: 0×20
[+] mmap: 0×4000 .. 0×5000
[+] page: 0×4000
[+] page: 0×4020
[+] mmap: 0×1000 .. 0×2000
[+] page: 0×1000
[+] mmap: 0xb7db8000 .. 0xb7dea000
[+] root
root@debian:~# id
uid=0(root) gid=0(root) groups=500(users)
más no en un ubuntu:
alex@nopalitux-desktop:~$ ./jessica_biel_naked_in_my_bed
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0×0 .. 0×1000
[+] page: 0×0
[+] page: 0×20
[+] mmap: 0×4000 .. 0×5000
[+] page: 0×4000
[+] page: 0×4020
[+] mmap: 0×1000 .. 0×2000
[+] page: 0×1000
[+] mmap: 0xb7e1b000 .. 0xb7e4d000
Fallo de segmentación
alex@nopalitux-desktop:~$
La vulnerabilidad del kernel (que obviamente incumbe a todas las distros: Debian, gentoo, red hat, fedora, slackware, opensuse, etc. ) hace uso del módulo vmsplice, incorporado precisamente en la version 2.6.17 del mismo como una más de las buenas características en ese entonces implementadas (más información sobre vmsplice en http://lwn.net/Articles/181169/). Esta vulnerabilidad afecta específicamente la syscall de vmsplice
otorgando acceso a lectura/escritura en posiciones arbitrarias de memoria.
Con este exploit ya en línea para ser utilizado, la comunidad se dio enseguida a la tarea de tratar de reparar este problema. En particular en http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c se propone un parche para deshabilitar el módulo vmsplice sin necesidad de reconfigurar el kernel.
Un par de horas después aparecía ya en http://www.securityfocus.com/bid/27704/info no sólo información extensa acerca del exploit, sino también la nota a actualizar a la versión 2.6.24.1 del kernel para resolver este problema.
Más tarde, en http://blogs.ua.es/jgaliana/2008/02/11/bug-en-el-nucleo-linux-afecta-a-versiones-anteriores-a-26241/ se comenta que tal kernel (2.6.24.1) corrige el fallo de manera parcial, por lo que el autor del blog (Juan Galiana) proporciona un parche para esta nueva versión del kernel.
Hoy, veo que ya kernel.org lanzó de manera oficial la versión 2.6.24.2 corrigiendo completamente el problema suscitado ;-).


