Corretto il bug per vmsplice, nuovo kernel 2.6.24.2
Non è passato ancora un giorno dalla segnalazione dell’exploit al kernel riguardante vmsplice (vedi
Trovato exploit per il kernel 2.6.x) che subito è stato pubblicato un aggiornamento su www.kernel.org, ecco il testo del Changelog
commit c78cb439103bf7deba5feb64921398d0ff93179a
Author: Greg Kroah-Hartman
Date: Sun Feb 10 21:51:11 2008 -0800Linux 2.6.24.2
commit 1617e66d11d6621824f642728d62f242272fd063
Author: Bastian Blank
Date: Sun Feb 10 16:47:57 2008 +0200splice: fix user pointer access in get_iovec_page_array()
patch 712a30e63c8066ed84385b12edbfb804f49cbc44 in mainline.
Commit 8811930dc74a503415b35c4a79d14fb0b408a361 (”splice: missing user
pointer access verification”) added the proper access_ok() calls to
copy_from_user_mmap_sem() which ensures we can copy the struct iovecs
from userspace to the kernel.But we also must check whether we can access the actual memory region
pointed to by the struct iovec to fix the access checks properly.Signed-off-by: Bastian Blank
Acked-by: Oliver Pinter
Cc: Jens Axboe
Cc: Andrew Morton
Signed-off-by: Pekka Enberg
Signed-off-by: Linus Torvalds
Signed-off-by: Greg Kroah-Hartman
Al momento sto scaricando il kernel per ricompilarlo e verificare la soluzione del problema, grazie a conraid di www.slacky.eu per la tempestiva segnalazione
[UPDATE] Kernel ricompilato e vulnerabilità sparita
johnny@darkstar:~$ gcc prova.c
johnny@darkstar:~$ ./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: 0xb7d66000 .. 0xb7d98000
[-] vmsplice: Bad address
Ecco quello che ci piace del mondo opensource!
Lunedì, 11 Febbraio 2008 a 17:10
[...] Thanks to: Johnny84 [...]
Venerdì, 22 Febbraio 2008 a 11:12
Peccato che quella falla è aperta da un anno senza che nessuno se ne sia accorto.
Venerdì, 22 Febbraio 2008 a 11:25
Beh pensare di avere codice senza bug è pura utopia, che si tratti di closed o open.
La differenza sta nella reattività nel correggere quelli di cui si viene a conoscenza