Ranljivost v ld.so OpenBSD

Dinamični nakladalnik ld.so, ki je vključen v OpenBSD, lahko pod določenimi pogoji SUID/SGID- aplikacije zapustijo spremenljivko okolja LD_LIBRARY_PATH in tako omogočijo nalaganje kode tretjih oseb v kontekstu procesa, ki se izvaja s povišanimi privilegiji. Popravki, ki odpravljajo ranljivost, so na voljo za izdaje 6.5 и 6.6. Binarni popravki (syspatch) za platforme amd64, i386 in arm64 so že v proizvodnji in bi morali biti na voljo za prenos do objave te novice.

Bistvo problema: med delovanjem ld.so najprej iz okolja izvleče vrednost spremenljivke LD_LIBRARY_PATH in jo s funkcijo _dl_split_path() spremeni v niz nizov - poti do imenikov. Če se pozneje izkaže, da trenutni proces zažene aplikacija SUID/SGID, se ustvarjena matrika in pravzaprav spremenljivka LD_LIBRARY_PATH počistita. Hkrati, če _dl_split_path() zmanjka pomnilnika (kar je težko zaradi eksplicitne omejitve 256 kB na velikost spremenljivk okolja, a teoretično mogoče), bo spremenljivka _dl_libpath prejela vrednost NULL in naknadna preverjanja vrednost te spremenljivke bo prisilno preskočila klic _dl_unsetenv("LD_LIBRARY_PATH").

Ranljivost, ki so jo odkrili strokovnjaki Kakovost, tako dobro, kot več že razkritih težave. Varnostni raziskovalci, ki so odkrili ranljivost, so ugotovili, kako hitro je bila težava odpravljena: pripravljen je bil popravek in posodobitve so bile izdane v treh urah po tem, ko je projekt OpenBSD prejel obvestilo.

Dodatek: Težavi je bila dodeljena številka CVE-2019-19726. Narejeno na poštnem seznamu oss-security uradno obvestilo, vključno s prototipnim izkoriščanjem, ki se izvaja v arhitekturah OpenBSD 6.6, 6.5, 6.2 in 6.1
amd64 in i386 (izkoriščanje je mogoče prilagoditi za druge arhitekture).
Težavo je mogoče izkoristiti v privzeti namestitvi in ​​omogoča neprivilegiranemu lokalnemu uporabniku, da izvede kodo kot root prek zamenjave knjižnice, ko izvaja pripomočke chpass ali passwd suid. Če želite ustvariti pogoje za malo pomnilnika, potrebne za delovanje, nastavite omejitev RLIMIT_DATA prek setrlimit.

Vir: opennet.ru

Dodaj komentar