Glibc ld.so haavatavus, mis vĂ”imaldab sĂŒsteemis root Ă”igusi saada

Qualys on tuvastanud ohtliku haavatavuse (CVE-2023-4911) ld.so linkimisprogrammis, mis on osa Glibci (GNU libc) sĂŒsteemsete C-raamatukogude komplektist. Haavatavus vĂ”imaldab kohalikul kasutajal oma Ă”igusi sĂŒsteemis tĂ”sta, mÀÀrates spetsiaalselt vormindatud andmed keskkonnamuutujasse GLIBC_TUNABLES enne suid rooti lipuga kĂ€itatava faili kĂ€ivitamist, nĂ€iteks /usr/bin/su.

Haavatavuse edukat Ă€rakasutamist on demonstreeritud Fedora 37 ja 38, Ubuntu 22.04 ja 23.04, Debian 12 ja 13 mĂ”juga. Eeldatakse, et haavatavus ilmneb ka teistes jaotustes, mis kasutavad Glibci. Musli sĂŒsteemsete C-raamatukogude baasil pĂ”hinevad jaotused, nagu Alpine Linux, ei ole probleemi all. Haavatavus on kĂ”rvaldatud 2. oktoobril lisatud plaastris. Pakettide vĂ€rskenduste vĂ€ljalaskmist jaotustes saab jĂ€lgida Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux lehtedel.

Haavatavus on pĂ”hjustatud aprillis 2021 tehtud muudatusest, mis oli osa glibc 2.34 vĂ€ljaandest. Koodiread, mis on mÀÀratud keskkonnamuutujasse GLIBC_TUNABLES, sisaldavad viga, mille tĂ”ttu vale parameetrite kombinatsioon selles muutujas pĂ”hjustab parsiteud vÀÀrtuse kirjutamise eraldatud puutĂŒkkide piirest. Probleem ilmneb, kui tavapĂ€raste jĂ€rjestuste «name=val» asemel on parameetrid antud topeltmÀÀramise kujul «name=name=val». Sellisel juhul töödeldakse mÀÀrangut kaks korda, algselt kui «name=name=val» ja hiljem kui «name=val». Sellise topeltprotsessi tagajĂ€rjel moodustub tulemus «name=name=val:name=val», mille suurus ĂŒletab tunestr puutĂŒki suuruse.

Uurimusmeeskond on valmistanud ette stabiilselt töötava eksploidimise, mis vĂ”imaldab saada root-kĂ€ivitusĂ”igused praktiliselt mis tahes programmiga, millel on suid root lipp. Erandid on utiliit sudo (muudab ELF RUNPATH vÀÀrtust), utiliidid chage ja passwd Fedora's (on kaitstud eraldi SELinux reeglitega) ja utiliit snap-confine Ubuntu's (on kaitstud eraldi AppArmori reeglitega). Pakutud ekspluateerimise meetod ei toimi ka RHEL 8 ja RHEL 9 puhul, kuigi need versioonid on haavatavad (rĂŒnnaku jaoks on vajalik teise eksploidimise loomine). Eksploidimise kood avaldatakse hiljem, pĂ€rast haavatavuse laialdast kĂ”rvaldamist. Oma sĂŒsteemi haavatavuse kontrollimiseks saab kasutada allpool toodud kĂ€sku, mis konkurentsi korral lĂ€bi kukub: env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf ‘192x’ 1`" \/usr\/bin\/su —help

Eraldi toome vÀlja Glibc kahte lisahaavatavust kÔrvaldamise.

  • CVE-2023-4806 — vabanenud mĂ€luala (use-after-free) juurdepÀÀs funktsioonis getaddrinfo(), mis ilmneb, kui NSS-plug-in rakendab ainult call-back kutseid „_gethostbyname2_r“ ja „_getcanonname_r“, kuid ei toeta kutset „_gethostbyname3_r“. Haavatavuse Ă€ra kasutamiseks peab DNS-server tagastama suure arvu IPv6 ja IPv4 aadresse, mis toob kaasa protsessi kokkuvarisemise, mis kutsus vĂ€lja funktsiooni getaddrinfo AF_INET6 aadressipere jaoks, pannud lippudele AI_CANONNAME, AI_ALL ja AI_V4MAPPED.
  • CVE-2023-5156 — mĂ€lu sisu leke vĂ”tva funktsiooni getaddrinfo, AF_INET6 aadressipere jaoks, kui lipud AI_CANONNAME, AI_ALL ja AI_V4MAPPED on seatud.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster