Haavatavus glibc-s, mis vĂ”imaldab sĂŒsteemis root-juurdepÀÀsu saada

Qualys on tuvastanud ohtliku haavatavuse (CVE-2023-6246) standardses C-teegis Glibc, mis vÔimaldab SUID-rakenduste kÀivitamisest manipuleerimise kaudu saavutada oma koodi tÀitmist suurenenud Ôigustega. Uurijatel Ônnestus vÀlja töötada toimiv eksploit, mis vÔimaldab saada root-kasutaja Ôigusi, manipuleerides kÀsurea argumentidega utiliidi su kÀivitamisel.

Haavatavus tuleneb puhverĂŒlevoolust funktsioonis __vsyslog_internal(), mida kasutatakse syslog() ja vsyslog() funktsioonide kutsumisel. Probleem tekib makro SYSLOG_HEADER puhul liiga pika rakenduse nime vĂ€ljundi katsetamisel. Pufferi suuruse suurendamise katse, arvestades pika nimega, ebaĂ”nnestub, mille tagajĂ€rjel kirjutatakse andmed algse vĂ€iksema suurusega vana pufferisse.

RĂŒnnaku korraldamisel lĂ€bi utiliidi su vĂ”ib rĂŒndaja protsessi nime muuta rakenduse kĂ€ivitamisel, asendades argv[0] vÀÀrtuse, mida kasutatakse programmi nime teabe saamiseks logides, ja saavutada kontrollitav andmete ĂŒlekirjutamine etteantud puhvrist vĂ€ljaspool. Edasi saab puhvri ĂŒlevoolu kasutada nss-module struktuuri ĂŒlekirjutamiseks nssl-teegis, et luua jagatud teek ja laadida see root-Ă”igustega.

Probleem ilmneb alates glibc 2.37 vÀljaandest, mis avaldati 2022. aasta augustis ja sisaldab muudatust, mis kÀsitleb liiga suurte sÔnumite kirjutamise katset. Haavatavuse tekitav parandus viidi tagasi glibc 2.36 harusse ja enamvanade glibc versioonidega jagatavate pakettide hulka, kuna mainitud parandus kÔrvaldas CVE-2022-39046 haavatavuse, mis pÔhjustas kuhja andmete leket. Selgus, et ohtlike haavatavuste kÔrvaldamine tÔi kaasa kriitilise probleemi. TÀhelepanuvÀÀrne on, et sarnane haavatavus funktsioonis vsyslog() libc teegis 5.4.3 raporteeriti juba 1997. aastal.

Haavatavuse olemasolu on kinnitatud Debian 12/13, Ubuntu 23.04/23.10 ja Fedora 37-39. Ekspluateerimise töö, et anda tavakasutajale root-Ă”igused, on demonstreeritud tĂ€ielikult uuendatud Fedora 38 keskkonnas, kus on kĂ”ik vaikeseadete kaitsemehhanismid sisse lĂŒlitatud. Haavatavust saab kasutada ainult lokaalselt, kuna see nĂ”uab ĂŒle 1024 baitide edastamist lĂ€bi argv[0] parameetri vĂ”i ident argument funktsioonis openlog().

Haavatavuse parandamine lisati mĂ”ned tunnid tagasi Glibci koodibaasi ja see lĂ€heb homme kĂ€ivitatava Glibc 2.39 uuendusega, koos kahe muu haavatavuse (CVE-2023-6779, CVE-2023-6780) parandamisega, mis mĂ”jutavad ka koodi __vsyslog_internal() ja vĂ”ivad pĂ”hjustada puhversĂ€ilituse ĂŒletĂ€itumist. Veelgi enam, ettevĂ”te Qualys on hoiatanud puhveri ĂŒletĂ€itumise avastamisest qsort() funktsiooni rakenduses, mis ei ole Glibci arendajate poolt tunnistatud haavatavuseks, kuna ekspluateerimine eeldab, et qsort() kutsumise korral kasutatakse mittetĂŒĂŒpilist vĂ”rdlemise funktsiooni, mis tagastab vĂ”rreldavate parameetrite erinevuse.

HaavatĂ”rje staatust distributsioonides saab hinnata jĂ€rgmistelt lehtedelt: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. SĂŒsteemi haavatavust saab testida jĂ€rgmise kĂ€suga: $ (exec -a "`printf ‘28000x’ 1`" /usr/bin/su < /dev/null)
Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster