Nei kernel distribuiti da Debian ed Ubuntu è stata individuata e confermata una vulnerabilità che garantisce ad un utente locale la possibilità di diventare root, eseguendo semplicemente questo exploit; la falla di sicurezza è stata individuata nell’errato comportamento della system call vmsplice() e, sebbene al momento il bug sia stato confermato solo in Debian ed Ubuntu, è probabile che esso sia presente nella gran parte delle distribuzioni.
Sul bug tracker di Debian è già disponibile un workaround che rende inutilizzabile l’exploit.
via | Slashdot
Plasma
11 feb 2008 - 01:43 - #1ai ai ai ai!!!
plasma@gentoo1 ~ $ gcc jessica_biel_naked_in_my_bed.c && ./a.out
———————————–
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: 0xa7e1c000 .. 0xa7e4e000
[+] root
gentoo1 ~ #
NeuroneDiMoro
11 feb 2008 - 01:48 - #2Fedora:
[moro@localhost ~]$ gcc jessica_biel_naked_in_my_bed.c && ./a.out
———————————–
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: 0xb7f62000 .. 0xb7f94000
[-] wtf
[moro@localhost ~]$
Eheheh
Arsenico Lupin
11 feb 2008 - 03:58 - #3:( on my Debian Etch 4.0 kernel 2.6.18-6-686:
lupinIII@debian:~/Desktop$ gcc jessica_biel_naked_in_my_bed.c && ./a.out
———————————–
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: 0xb7e38000 .. 0xb7e6a000
[+] root
root@debian:~/Desktop#
sirus
11 feb 2008 - 08:29 - #4filippo@Fulton:~/Scrivania$ gcc jessica_biel_naked_in_my_bed.c -o exploit && ./exploit
———————————–
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: 0xb7e20000 .. 0xb7e52000
[+] root
root@Fulton:~/Scrivania#
Ubuntu 7.10.
Gelax!
11 feb 2008 - 08:53 - #5gelax@peppez:~/Prove$ gcc jessica_biel_naked_in_my_bed.c
gelax@peppez:~/Prove$ ./a.out
———————————–
Linux vmsplice Local Root Exploit
By qaaz
———————————–
[-] !@#$
gelax@peppez:~/Prove$ uname -r
2.6.20-15-generic
gelax@peppez:~/Prove$
Xubuntu 7.04….
elgi
11 feb 2008 - 09:07 - #6sono backate anche centos 4 e 5 (quindi redhat).
Kamui
11 feb 2008 - 09:18 - #7Archlinux:
kamui[Desktop]$gcc exploit.c
kamui[Desktop]$./a.out
———————————–
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: 0xb7dfa000 .. 0xb7e2c000
[-] vmsplice: Bad address
kamui[Desktop]$
jimme
11 feb 2008 - 09:23 - #8Su Fedora8 non funziona:
[francesco@Fedora main]$ ./virus
———————————–
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: 0xb7fa5000 .. 0xb7fd7000
[+] root
open(”/dev/kmem”): No such file or directory
[francesco@Fedora main]$
monossido
11 feb 2008 - 10:36 - #9il workaround funziona ed è semplice da applicare tanto quanto l’exploit…già messo sul mio server ;)
Massimo S:
11 feb 2008 - 11:17 - #10Mi sa che non è cosi semplice, almeno per me.
Come si applica il workaround?
Ho scaricato il file disable-vmsplice-if-exploitable.c
L’ho compilato ed eseguito (come root) ma mi pare che il bug ci sia ancora.
elgi
11 feb 2008 - 11:46 - #11sorry solo la centos 5 (kernel > 2.6.17)
buhbuh
11 feb 2008 - 12:06 - #12su Gentoo è già patchata.
Adesso non posso fare il test, ma sull’ultimo aggiornamento di stamattina, gentoo-sources 2.6.24-r2 e 2.6.23-r7 il changelog parla chiaro. Peccato solo i dev abbiano lasciato i pacchetti mascherati. Evidentemente vogliono prima controllare meglio il tutto.
Ciclo idle del sistema 94%
11 feb 2008 - 12:40 - #13su gentoo 23-r6
$ gcc fregatura.c
fregatura.c:30:22: error: asm/page.h: No such file or directory
fregatura.c: In function ‘main’:
fregatura.c:211: error: ‘PAGE_SIZE’ undeclared (first use in this function)
fregatura.c:211: error: (Each undeclared identifier is reported only once
x.c:211: error: for each function it appears in.)
buhbuh
11 feb 2008 - 13:13 - #14ehm… ma i sorgenti del kernel ce li hai installati correttamente?
A giudicare dall’output che hai postato si direbbe di no.
Gica78R
11 feb 2008 - 16:28 - #15L’exploit funziona anche su Fedora 8, almeno con SELinux disabilitato:
[gianluca@dyane6 ~]$ uname -r
2.6.23.14-115.fc8
[gianluca@dyane6 ~]$ ./bug-linux
———————————–
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: 0xb7fae000 .. 0xb7fe0000
[+] root
[root@dyane6 ~]#
conraid
11 feb 2008 - 17:13 - #16Il kernel 2.6.24.2 è patchato per questo exploit
Babets
11 feb 2008 - 18:13 - #17In archlinux hanno già sistemato oggi :)
babets ~/Documenti $ uname -r
2.6.24-ARCH
babets ~/Documenti $ ./a.out
———————————–
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: 0xb7e2d000 .. 0xb7e5f000
[-] vmsplice: Bad address
babets ~/Documenti $
Fedora7
11 feb 2008 - 18:46 - #18Una ragione in più per usare SELinux su Fedora. ;)
segnale
11 feb 2008 - 20:17 - #19O anche per nn usare linux …
Ciclo idle del sistema 94%
11 feb 2008 - 23:14 - #20mancava un link ad asm. cmq ho patchato il gentoo-sources-r6 con il workaround xkè con l’exploit c’era la possibilità di loggarsi come root. cmq sti cracker ke trovano sti exploit sono dei geniacci. li ammiro un kasino anche se possono usare la loro competenze informatiche a fin di male.
Jugin
11 feb 2008 - 23:31 - #21> li ammiro un kasino anche se possono usare le
> loro competenze informatiche a fin di male.
Generalmente quelli sono i lamer…
Da non confondere assolutamente con gente come Jens Axboe (lavora per Oracle come kernel hacker) che ha trovato il bug in oggetto:
http://www.securityfocus.com/bid/27704/info
socrates
11 feb 2008 - 23:34 - #22Io ho provato a compilareil listato dell’exploit che viene linkato nell’articolo ma non …. non sono diventato utente root, in compenso mi sono beccato un segmantation fault. (che non so di preciso cosa significhi)
Il mio GNU/Linux è Ubuntu Feisty Fawn
Eccovi il report
socrates@lollox:~/Desktop/EXP$ ./a.out
———————————–
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: 0xb7e2c000 .. 0xb7e5e000
Segmentation fault (core dumped)
socrates@lollox:~/Desktop/EXP$
Mi illuminate? Io me la cavo a malapena nel compilare un sorgente semplice in scritto in C!
Ciao!
Massimo S:
12 feb 2008 - 10:37 - #23Ho capito perché non mi funzionava il workaround, io lo eseguivo come root, invece paradossalmente va eseguito come utente normale (e rieseguito a ogni riavvio della macchina)
flyingecko
12 feb 2008 - 16:46 - #24flyingecko@debian-laptop:~$ cd Desktop/
flyingecko@debian-laptop:~/Desktop$ gcc anche_Debian_Sid_è_vulnerabile.c
flyingecko@debian-laptop:~/Desktop$ ./a.out
———————————–
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: 0xb7d78000 .. 0xb7daa000
[+] root
root@debian-laptop:~/Desktop# whoami
root
Flavioweb
13 feb 2008 - 12:21 - #25flavio@linux-flavioweb:~> ./exploit
———————————–
Linux vmsplice Local Root Exploit
By qaaz
———————————–
[+] mmap: 0×100000000000 .. 0×100000001000
[+] page: 0×100000000000
[+] page: 0×100000000038
[+] mmap: 0×4000 .. 0×5000
[+] page: 0×4000
[+] page: 0×4038
[+] mmap: 0×1000 .. 0×2000
[+] page: 0×1000
[+] mmap: 0×2b61a7efa000 .. 0×2b61a7f2c000
[+] root
linux-flavioweb:~ # uname -r
2.6.22.16-0.2-default
OpenSuse10.3-x86_64.
Sic.