Dobësi në Glibc ld.so që mundëson marrjen e të drejtave root në sistem

Kompania Qualys ka zbuluar një dobësi të rrezikshme (CVE-2023-4911) në ngarkuesin ld.so, i cili shpërndahet si pjesë e bibliotekës sistemore C Glibc (GNU libc). Dobësia i lejon një përdoruesi lokal të rrisë privilegjet në sistem duke përcaktuar të dhëna të formatuara posaçërisht në variablën e mjedisit GLIBC_TUNABLES përpara nisjes së një skedari të ekzekutueshëm me flamurin suid root, për shembull, /usr/bin/su.

Mundësia e shfrytëzimit të suksesshëm të kësaj dobësie është demonstruar në Fedora 37 dhe 38, Ubuntu 22.04 dhe 23.04, Debian 12 dhe 13. Supozohet se dobësia shfaqet edhe në çdo shpërndarje tjetër që përdor Glibc. Shpërndarjet e bazuara në bibliotekën sistemore C Musl, si Alpine Linux, nuk preken nga ky problem. Dobësia është korrigjuar në patch-in e shtuar më 2 tetor. Ecuria e publikimit të përditësimeve të paketave në shpërndarje mund të ndiqet në faqet e Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.

Dobësia shkaktohet nga një ndryshim i bërë në prill 2021 dhe i përfshirë në versionin glibc 2.34. Për shkak të një gabimi në kodin që analizon vargun e specifikuar në variablën e mjedisit GLIBC_TUNABLES, një kombinim i pasaktë parametrash në këtë variabël çon në shkrimin e vlerës së përpunuar jashtë kufijve të buffer-it të alokuar. Problemi shfaqet kur, në vend të sekuencave standarde «name=val», parametrat jepen në formën me caktim të dyfishtë «name=name=val». Në këtë rast, caktimi përpunohet dy herë: fillimisht si «name=name=val» dhe më pas si «name=val». Si rezultat i këtij përpunimi të dyfishtë, krijohet vlera «name=name=val:name=val», madhësia e së cilës tejkalon madhësinë e buffer-it tunestr.

KĂ«rkuesit kanĂ« pĂ«rgatitur njĂ« eksploatues qĂ« punon nĂ« mĂ«nyrĂ« tĂ« qĂ«ndrueshme, i cili lejon marrjen e tĂ« drejtave root nĂ« pĂ«rdorim me pothuajse çdo program me flamur suid root. Pjesa pĂ«rjashtuese pĂ«rfshin utilitarin sudo (i cili ndryshon vlerĂ«n ELF RUNPATH), utilitarĂ«t chage dhe passwd nĂ« Fedora (tĂ« mbrojtur nga rregulla tĂ« veçanta SELinux) dhe utilitarin snap-confine nĂ« Ubuntu (tĂ« mbrojtur nga rregulla tĂ« veçanta AppArmor). Metoda e propozuar e eksploatimit gjithashtu nuk funksionon nĂ« RHEL 8 dhe RHEL 9, megjithĂ«se kĂ«to degĂ« janĂ« tĂ« ndjeshme ndaj dobĂ«sisĂ« (pĂ«r sulmin kĂ«rkohet krijimi i njĂ« eksploatuesi tĂ« ndryshĂ«m). Kodi i eksploatuesit do tĂ« publikohet mĂ« vonĂ« pas eliminimit tĂ« pĂ«rgjithshĂ«m tĂ« dobĂ«sisĂ«. TĂ« kontrolloni nĂ«se sistemi juaj Ă«shtĂ« i ndjeshĂ«m ndaj dobĂ«sisĂ« mund tĂ« bĂ«het pĂ«rmes komandĂ«s sĂ« mĂ«poshtme, e cila nĂ« rast se ka njĂ« problem do tĂ« pĂ«rfundojĂ« me dĂ«shtim: env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '192x' 1`" \/usr\/bin\/su —help

Veçmas theksohet edhe korrigjimi i dy dobësive të tjera në Glibc:

  • CVE-2023-4806 — pĂ«rdorim i memories qĂ« tashmĂ« Ă«shtĂ« liruar (use-after-free) nĂ« funksionin getaddrinfo(), qĂ« shfaqet kur njĂ« plugin NSS zbaton vetĂ«m thirrjet call-back “_gethostbyname2_r” dhe “_getcanonname_r”, por nuk mbĂ«shtet thirrjen “_gethostbyname3_r”. PĂ«r tĂ« shfrytĂ«zuar dobĂ«sinĂ«, serveri DNS duhet tĂ« kthejĂ« pĂ«r hostin e kĂ«rkuar njĂ« numĂ«r tĂ« madh adresash IPv6 dhe IPv4, gjĂ« qĂ« do tĂ« çojĂ« nĂ« crash tĂ« procesit qĂ« ka thirrur funksionin getaddrinfo pĂ«r familjen AF_INET6 kur janĂ« vendosur flamujt AI_CANONNAME, AI_ALL dhe AI_V4MAPPED.
  • CVE-2023-5156 — rrjedhje e pĂ«rmbajtjes sĂ« memories gjatĂ« thirrjes sĂ« funksionit getaddrinfo pĂ«r familjen e adresave AF_INET6 me flamujt AI_CANONNAME, AI_ALL dhe AI_V4MAPPED tĂ« aktivizuar.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster