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 -0800

Linux 2.6.24.2

commit 1617e66d11d6621824f642728d62f242272fd063
Author: Bastian Blank
Date: Sun Feb 10 16:47:57 2008 +0200

splice: 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!

3 Risposte a “Corretto il bug per vmsplice, nuovo kernel 2.6.24.2”

  1. Peccato che quella falla è aperta da un anno senza che nessuno se ne sia accorto.

  2. 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

I commenti sono chiusi.