Linux kernel uselib() privilege elevation - helyi root

Címkék

Összegzés: Linux kernel uselib() privilege elevation

Termék: Linux kernel

Verzió: 2.4-től felfele, beleértve a 2.4.29-rc2-t is; 2.6-tól felfele, beleértve a 2.6.10-et is

CVE: CAN-2004-1235

Szerző: Paul Starzetz (ihaquer () isec ! pl)

Dátum: 2005. január 7.Paul Starzetz olyan hibát talált a Linux kernelekben, amelyet kihasználva a rosszindulatú helyi támadó root jogokhoz juthat.

A hiba a kernel uselib() függvényében található.

A bejelentés itt.

Hozzászólások

öregem, micsoda kis ***** bug! és mégis mekkora galibát tud okozni. :)

[+] moved stack bfffe000, task_size=c0000000, map_base=bf800000

cat /proc/26169/maps

[+] exploit thread running pid=26170

[+] race delta=5000 maps=5609

expanded VMA (0xbfffc000-0xffffe000)

[+] vmalloc area 0xc2000000 - 0xc3cb9000

[!] try to exploit 0xc2874000

[+] SUCCESS (LDT found v=0x001093df)

[+] exploited, uid=0

sh-2.05a$ id

uid=0(root) gid=0(root) euid=1004(hunger) groups=1004(hunger)

:)

Ja hupsz, most nézem, hogy az előbb a stolen verzió outputját kopiztam, a publikusnak így néz ki:

[+] SLAB cleanup

child 1 VMAs 712

[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000

[+] vmalloc area 0xc2000000 - 0xc3cb9000

Wait... |

[+] race won maps=21104

expanded VMA (0xbfffc000-0xffffe000)

[!] try to exploit 0xc2874000

[+] gate modified ( 0xffec8624 0x0804ec00 )

[+] exploited, uid=0

sh-2.05a$ id

uid=0(root) gid=0(root) euid=1004(hunger) groups=1004(hunger)

;-D

Nem véletlenul ez itt [linux.bkbits.net:8080] a 2.6-oshoz a javítás? Kissé egyszerűbbnek és parasztosabbnak tűnik, mint a 2.4-beli, és a Gentoo például a 2.4-belit portolta 2.6-hoz is, de hát Linusban csak megbízunk, ha ő mondja, akkor biztos elég ez a rövidke patch is, nem? :-)

Gentoo alatt a kovetkezo kernelben javitva van:

*gentoo-dev-sources-2.6.10-r3 (07 Jan 2005)

07 Jan 2005; Daniel Drake

+gentoo-dev-sources-2.6.10-r3.ebuild:

Add iptables conntrack RST fix, kswapd pages_scanned fix, ICH7 SATA support,

uselib() security fix. Update capabilities module security fix and inotify.

Hali, 2 kernelnél próbáltam ahol és nálam ez az eredmény:

2.4.28 kernel:

[+] SLAB cleanup

child 1 VMAs 175

[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000

[+] vmalloc area 0xc7c00000 - 0xcf70d000

[-] FAILED: open lib (/dev/shm/_elf_lib not writable?) (No such file or directory)

Killed

-nem volt mountolva az shm, majd miután mountoltam ez volt az eredmény:

[+] SLAB cleanup

child 1 VMAs 27

[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000

[+] vmalloc area 0xc7c00000 - 0xcf70d000

Wait...

[-] FAILED: try again (Cannot allocate memory)

Killed


2.6.6 kernel:

child 1 VMAs 0

[+] moved stack bfffe000, task_size=0xc0000000, map_base=0xbf800000

[+] vmalloc area 0xdf800000 - 0xfefe7000

[-] FAILED: try again (Cannot allocate memory)

Killed

üdv:

Csabka

A hibát fixáló patcheket valaki tudná linkelni?

Köszönöm.

A 2.6-os kernelhez a 2.6.10-ac7-ben mar benne a javitas (a 2.6.10-ac6-ban is benne volt mar szerintem), a 2.4-es sorozatban pedig a 2.4.29-rc2 javitja a hibat. Ha konkretan a patch kell, akkor marad a Bitkeeper.

2.4-hez itt, Linus fajaban meg nem lattam a javitast, ezert inkabb hasznald az -ac fat.