Root-sÄrbarhet i sudo, som pÄverkar Linux Mint och Elementary OS

I verktyget sudo, som anvÀnds för att organisera utförande av kommandon Ä andra anvÀndares vÀgnar, upptÀcktes sÄrbarhet (CVE-2019-18634), vilket gör att anvÀndare kan höja sina privilegier i systemet till root-anvÀndare. Problemet uppstÄr frÄn version 1.7.1 av sudo endast nÀr alternativet «pwfeedback» anvÀnds i filen /etc/sudoers, vilket Àr inaktiverat som standard men aktiverat i vissa distributioner, sÄsom Linux Mint och Elementary OS. Problemet Àr ÄtgÀrdat i versionen sudo 1.8.31, som publicerades för nÄgra timmar sedan. PÄ distributionerna kvarstÄr sÄrbarheten fortfarande ofixad.

Alternativet «pwfeedback» inkluderar att visa tecknet «*» efter varje inmatat tecken vid inmatning av lösenord. PĂ„ grund av fel implementeringen av funktionen getln(), definierad i filen tgetpass.c, kan en för stor strĂ€ng med lösenord som matas in via standardindata (stdin) under vissa förhĂ„llanden inte fĂ„ plats i den allokerade bufferten och skriva över andra data i stacken. Överflödet uppstĂ„r under utförandet av sudo-kod med root-rĂ€ttigheter.

KÀrnan i problemet Àr att nÀr en speciell tecken ^U (rensa raden) anvÀnds under inmatning och skrivoperationen misslyckas, nollstÀller koden som ansvarar för att rensa de utmatade tecknen «*» informationen om den tillgÀngliga buffertstorleken, men ÄterstÀller inte pekaren pÄ den aktuella positionen i bufferten till sitt ursprungliga vÀrde. En annan bidragande faktor till utnyttjandet Àr avsaknaden av automatisk avstÀngning av alternativet «pwfeedback» nÀr data tas emot inte frÄn terminalen utan via indataflödet (denna brist möjliggör förhÄllanden för skrivfel, till exempel pÄ system med enkelriktade namnlösa kanaler felet intrÀffar vid försök att skriva förbi slutet av kanalen för lÀsning).

Eftersom angriparen kan ha full kontroll över överlappningen av data i stacken Àr det inte svÄrt att skapa ett exploit för att höja sina privilegier till root-anvÀndare. Problemet kan utnyttjas av vilken anvÀndare som helst, oavsett rÀttigheter för att anvÀnda sudo och förekomsten av anvÀndarspecifika instÀllningar i sudoers. För att blockera problemet bör man sÀkerstÀlla att det inte finns nÄgot i /etc/sudoers för att aktivera «pwfeedback» och inaktivera det om nödvÀndigt («Defaults !pwfeedback»). För att kontrollera förekomsten av problemet kan följande kod köras:

$ perl -e ‘print((«A» x 100 . «\x{00}») x 50)’ | sudo -S id
Lösenord: Segmenteringsfel

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster