Portál AbcLinuxu, 8. května 2025 02:31

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
28.3.2017 20:13 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Odpovědět | Sbalit | Link | Blokovat | Admin
Eject je i pro normální mass storage zařízení. Používám ho pro čtečku tak o 2 řády častěji než CD/DVD. Nejsem si jistý, ale nejspíš jo, měl by jít i pro SATA disky. Jestli jde i pro páskové mechaniky si už nepamatuju, ale ty maj hooodně starý drivery, možná to vysouvaj jinak.
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
28.3.2017 22:31 Tom K | skóre: 22
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Taky jsem ho na mass storage používal, ale nebavilo mě neustále hledat ejectnuté microsd po zemi. Takže dávám přednost klasickému umount.
echo -n "u48" | sha1sum | head -c3; echo
28.3.2017 23:15 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
umount odpojí partišnu, ale eject odpojí elektriku.
29.3.2017 11:39 Jardík
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Mě zase hledat na zemi ejectnutou flashku ...
Petr Tomášek avatar 29.3.2017 09:07 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Odpovědět | Sbalit | Link | Blokovat | Admin
-    setgid(getgid());
-    setuid(getuid());
+    if (setgid(getgid()))
+        return 1;
+    if (setuid(getuid()))
+        return 1;

Hm, zajímavé. Můžete mi někdo vysvětlit, jak je možné zvnějšku ovlivnit, aby se root nemohl sám změnit na jiného uživatele?

multicult.fm | monokultura je zlo | welcome refugees!
29.3.2017 09:38 tatar
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
This unfortunately doesn't account for a FAILED call to setuid(), which would then perform the parsing as root.
Petr Tomášek avatar 29.3.2017 10:07 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
No, tak to je snad každému jasné, ale jak toho dosáhneš (aby setuid() skončilo neúspěšně) jako user, který volá setuid binárku "eject", jsi tím nijak nevysvětlil...
multicult.fm | monokultura je zlo | welcome refugees!
29.3.2017 10:20 tatar
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
No to je pravda lebo som bol prirychly pri odpovedi. Ale v podstate je to len zneuzitelna chyba a nie zneuzita.... a ten kto to vie ten to nepovie. Ale predpokladam, ze pretecenim spravnej pamati dokazu takuto dieru zneuzit.
30.3.2017 02:23 .
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Jaké přetečení? Když ani zdaleka netušíš, o co jde, tak mlč.
29.3.2017 10:53 Ivan
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
mozna by to mohla byt nejaka race condition, kdy uid zmizi z /etc/passwd (NIS). Uznavam ale, ze je to hodne divoky scenar.
Petr Tomášek avatar 29.3.2017 13:12 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
OK, takže je jasný, proč se Debian vzdal práva na informační embargo ;-)
multicult.fm | monokultura je zlo | welcome refugees!
29.3.2017 13:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Syscall nekontroluje existenci UID v /etc/passwd nebo NIS.
Hans1024 avatar 29.3.2017 14:28 Hans1024 | skóre: 5 | blog: hansovo
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Ja jsem se nad tim taky podivoval a myslim ze na BSD by to nebylo zneuzitelne, protoze jedinny error setuid je
     [EPERM]            The user is not the superuser and the requested uid or
                        euid is not the process's real, effective, or saved
                        UID.
ale pak jsem se podival na Linuxovy manpage
       EAGAIN The call would change the caller's real UID (i.e., uid does
              not match the caller's real UID), but there was a temporary
              failure allocating the necessary kernel data structures.

       EAGAIN uid does not match the real user ID of the caller and this
              call would bring the number of processes belonging to the real
              user ID uid over the caller's RLIMIT_NPROC resource limit.
              Since Linux 3.1, this error case no longer occurs (but robust
              applications should check for this error); see the description
              of EAGAIN in execve(2).

       EINVAL The user ID specified in uid is not valid in this user
              namespace.

       EPERM  The user is not privileged (Linux: does not have the
              CAP_SETUID capability) and uid does not match the real UID or
              saved set-user-ID of the calling process.
a asi by nejak slo zpusobit "temporary failure allocating the necessary kernel data structures".
Veni, vidi, copi
29.3.2017 14:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Tam je jen jedna alokace ze slabu, tam selhání dost dobře vynutit nepůjde (a pokud ano, tak už stejně nebude pořádně fungovat půl systému). Ale možná by šlo soustředit se na ten test validity uid předávaného setuid() a změnit mapování UID pro příslušný user namespace mezi voláním getuid() a setuid().
29.3.2017 15:28 Yarda
Rozbalit Rozbalit vše Re: Balíček eject zneužitelný k lokální eskalaci práv (CVE-2017-6964)
Odpovědět | Sbalit | Link | Blokovat | Admin
No a pokud mi něco neuniklo, tak i když toho roota nakonec nějak dostanu failnutím setuid/gid, tak výsledek bude jen ten, že to bude parsovat obsah /dev/mapper/control jako root a ne obyčejný user. Takže to chce ještě najít nějakou zneužitelnou chybu v tom parseru a nějak tam injectnout malformed data...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.