Portál AbcLinuxu, 7. května 2025 20:14

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ář
11.1.2017 10:04 smrt
Rozbalit Rozbalit vše Re: Lokální eskalace práv ve Firejailu
Odpovědět | Sbalit | Link | Blokovat | Admin
Jen velice zbezne jsem mrknul na kod toho projektu a "obraty", ktere se zde pouzivaji, maji k bezpecnosti hodne daleko. A to nejsem zadnej bezpecnostni expert!

Treba toto:

https://github.com/netblue30/firejail/blob/master/src/firejail/util.c#L306

Kdiz lstat selze, soubor, dle teto logiky neni link. To je jen jeden z mnoha problemu.

Nasledne se pak bezne skolacka chyba:
if (!is_link(fname)) {
    int fd =  open(fname);
    write(fd, .....)
}
Nikoho nezajima, ze mezi is_link a open muze nekdo soubor "transformovat" na link. Ma to byt:
fd = open(fname)
if (fstat(fd, &st) == -1) error();
if (S_ISKNK(st)) {}
Ta binakrka se isnstaluje se suidem a je dost pravdepodobne, ze udelat exploit nebude pro zkuseneho "hackera" zadny problem. Pouzivat to doma na spousteni neduveryhodnych binarek je jiste ok, ale instalovat to na multi-user server a nechavat tomu ten suid je holy nerozum.

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.