Det er funnet en feil i Linux som kan gi lokale brukere root-rettigheter.
I Linux 2.6.17 ble et nytt systemkall, vmsplice(), implementert. Dette har med bufferhåndtering å gjøre. Dette er tredje feilen på rad i det samme systemkallet som kan gi lokale brukere root-rettigheter.
Så lenge du har en kjerne mellom 2.6.17-2.6.24.1 kan du være i fare. I versjon 2.6.24.2 er feilen plastret.
For å teste om systemet ditt kan utnyttes,
1) Last ned kildekoden her og lagre den som f.eks. exploit.c
2) Kompiler kildekoden ved å kjøre gcc exploit.c -o exploit
3) Kjør ./exploit
N.B.! Dette korrumperer sannsynligvis minnet ditt som kan gjør at maskinen blir ustabil til neste restart.
Slik så det ut på en server jeg har hjemme:
user@server:~# uname -a
Linux mythtv 2.6.18-chw-13 #1 SMP PREEMPT Sun Dec 3 23:47:01 PST 2006 i686 GNU/Linux
user@server:~$ ./exploit
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7d86000 .. 0xb7db8000
[+] root
root@server:~# whoami
root
root@server:~# id
uid=0(root) gid=0(root) groups=46(plugdev),1000(user)
På min bærbare hvor jeg kjører nyeste kjerne (2.6.24.2), feilet programmet med
"[-] vmsplice: Bad address", som vil si at systemet ikke kan utnyttes.
Jeg anbefaler alle, ihvertfall de som har systemer med flere brukere eller maskiner med SSH åpent og dårlige bruker-passord å fikse dette snarest.
Se veiledning for din distro hvordan du kan gjøre dette.
Ref:
kerneltrap
milw0rm
olear 12. februar 2008 - 21:11
Feilen er også fikset i 2.6.23, muligens også 2.6.22. De som kjører den stabile 2.6.16 er trygg. Bruker man kernel fra distro er man trygg (da de vil backporte fiksen).
art3mis 12. februar 2008 - 22:34
Shit, den der var slem, takk for tipset! Tror jeg stenger ute noen personer for en liten stund nå xD
artemis@x13 ~/download $ gcc exploit.c -o exploit
artemis@x13 ~/download $ ./exploit
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
...
...
[+] page: 0x1000
[+] mmap: 0xb7f65000 .. 0xb7f97000
[+] root
x13 download # uname -a
Linux x13 2.6.23-gentoo-r6 #3 PREEMPT Wed Feb 6 13:49:28 CET 2008 i686 AMD Athlon(tm) XP 2600+ AuthenticAMD GNU/Linux
x13 download # whoami
root
Så virker ikke som om feilen er fikset i 2.6.23, med mindre gentoo sitt patchset reintroduserer den.
Edit: patchet og fikset i 2.6.23-gentoo-r8.
Edit2: funker også på 2.6.22-hardened-r8-kjernen.
Får oppgradere alle pcene imorgen da :<
Snuppiscnapp 14. februar 2008 - 8:42
Har Ubuntu 7.10 med kjerne 2.6.22-14 hvordan få oppgradert til nyeste kjerne? Så jeg får fikset opp i dette hullet..
olear 14. februar 2008 - 10:08
Enten er det fikset, eller så kommer det. Poenget med å kjøre en stabil distro er jo å få sikkerhetsoppdateringer.
ak 14. februar 2008 - 19:28
I -14 er det fikset.