Glibc haavatavus, mis võimaldab teil saada süsteemile juurjuurdepääsu

Qualys tuvastas standardses C teegis Glibc ohtliku haavatavuse (CVE-2023-6246), mis võimaldab teil käivitada oma koodi kõrgendatud õigustega manipulatsioonide kaudu SUID-rakenduste käivitamisega. Teadlased suutsid välja töötada toimiva ärakasutamise, mis võimaldab su utiliidi käitamisel käsurea argumente manipuleerides hankida juurõigusi.

Haavatavuse põhjustab funktsioonide syslog() ja vsyslog() kutsumisel kasutatavate funktsioonide __vsyslog_internal() puhvri ületäitumine. Probleem ilmneb vea tõttu, kui proovite makro SYSLOG_HEADER kaudu väljastada liiga pikka rakenduse nime. Püüdes laiendada puhvrit pika nime alusel, tekib tõrge, misjärel kirjutatakse andmed vanasse algsesse väiksemasse puhvrisse.

Rünnaku korraldamisel su utiliidi kaudu saab ründaja rakenduse käivitamisel protsessi nime muuta, asendades argv[0] väärtuse, mida kasutatakse programmi nime kohta teabe hankimiseks logi väljastamisel ja kontrollitud andmete ülekirjutamine väljaspool eraldatud puhvrit. Ületäitmist saab seejärel kasutada nss-teegi struktuuri nss_module ülekirjutamiseks, et luua jagatud teegi ja laadida see administraatorina.

Probleem on ilmnenud alates 2.37. aasta augustis avaldatud glibc 2022 väljalaskmisest, mis hõlmas muudatust liiga suurte sõnumite kirjutamise katsete lahendamiseks. Parandus viidi tagasi versioonile glibc 2.36 ja glibc vanemate versioonidega distributsioonipakettidele, kuna parandus käsitles hunniku lekke haavatavust CVE-2022-39046. Selgus, et mitteohtliku haavatavuse parandamine tõi kaasa kriitilise probleemi ilmnemise. Tähelepanuväärne on, et libc 5.4.3 teegi funktsiooni vsyslog() sarnasest haavatavusest teatati juba 1997. aastal.

Haavatavust on kinnitatud Debian 12 / 13, Ubuntu 23.04. aprill 23.10 ja Fedora 37-39. Haavatavust, mis võimaldab privilegeerimata kasutajal saada juurõigused, demonstreeritakse täielikult uuendatud Fedora 38 keskkonnas, kus kõik kaitsemehhanismid on vaikekonfiguratsioonis lubatud. Haavatavust saab ära kasutada ainult lokaalselt, kuna see nõuab enam kui 1024 baiti edastamist parameetri argv[0] või funktsiooni openlog() ident argumendi kaudu.

Haavatavuse parandus lisati mitu tundi tagasi Glibc koodibaasi ja see on osa homsest Glibc 2.39 värskendusest koos veel kahe haavatavusega (CVE-2023-6779, CVE-2023-6780), mis mõjutavad ka __vsyslog_internal() koodi ja viib puhvri ületäitumiseni. Lisaks hoiatas Qualys puhvri ületäitumise tuvastamise eest funktsiooni qsort() juurutamisel, mida Glibc arendajad ei liigitanud haavatavaks, kuna ärakasutamine hõlmab ebatüüpilise võrdlusfunktsiooni kasutamist argumendina qsorti kutsumisel, mis tagastab erinevuse. võrreldavatest parameetritest.

Versioonide haavatavuste paranduste olekut saab hinnata järgmistel lehtedel: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Saate oma süsteemi haavatavust testida järgmise käsuga: $ (exec -a "`printf '%0128000x' 1`" /usr/bin/su < /dev/null)
Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster