Root-haavatavus sudo-s, mis mÔjutab Linux Mint ja Elementary OS

Utiliit sudo, mis kasutatakse teiste kasutajate nimel kĂ€skude tĂ€itmise korraldamiseks, tuvastatud haavatavus (CVE-2019-18634), mis vĂ”imaldab sĂŒsteemi Ă”iguste tĂ”stmist kasutajaks root. Probleem ilmneb alates sudo versioonist 1.7.1 ainult siis, kui /etc/sudoers failis on aktiveeritud „pwfeedback“ valik, mis on vaikimisi keelatud, kuid aktiveeritud mĂ”nedes jaotustes, nagu Linux Mint ja Elementary OS. Probleem on lahendatud versioonis sudo 1.8.31, mis avaldati mitu tundi tagasi. Jaotustes on haavatavus siiani parandamata.

„pwfeedback“ valik lubab sisestatud sĂŒmbolite jĂ€rel kuvada tĂ€hise „*“ parooli sisestamisel. Kuna vead getln() funktsiooni rakenduses, mis on mÀÀratletud failis tgetpass.c, vĂ”ib teatud tingimustel liiga suur paroolist sĂ”num, mis edastatakse standardse sisendvoo (stdin) kaudu, mitte mahtuda eraldatud mĂ€llu ning ĂŒle kirjutada teisi andmeid virnas. Ülevool toimub sudo-koodi tĂ€itmise ajal ĂŒhe root'i Ă”igustes.

Probleemi olemus on see, et erisĂŒmboli ^U (rea kustutamine) kasutamisel ja kirjutamise operatsiooni tĂ”rkel, kood, mis vastutab vĂ€ljundis kuvatu tĂ€hist „*“ eemaldamise eest, nullib mĂ€lu piirangud, kuid ei taasta praeguse positsiooni nĂ€itajat mĂ€lu algsesse olekusse. Teine tegur, mis soodustab ekspluateerimist, on „pwfeedback“ reĆŸiimi automaatse vĂ€ljalĂŒlitamise puudumine sisendi voogude korral, mitte terminali kaudu (see puudus vĂ”imaldab luua tingimusi kirjutamisvea tekkimiseks, nĂ€iteks ĂŒhesuunaliste nimetutega kanalitel tĂ”rge tekib katse korral kirjutada lugemis kanali lĂ”ppu).

Kuna rĂŒndaja vĂ”ib tĂ€ielikult kontrollida virna andmete ĂŒlekirjutamist, ei ole raske luua eksploitatsioonikoodi, mis tĂ”stab Ă”igused kasutajaks root. Probleemi saab Ă€ra kasutada iga kasutaja, sĂ”ltumata sudo kasutusoigustest ja isiklikest seadistustest sudoers failis. Probleemi blokeerimiseks tuleks veenduda, et /etc/sudoers failis ei oleks „pwfeedback“ seadet ja vajadusel see vĂ€lja lĂŒlitada („Defaults !pwfeedback“). Probleemi olemasolu kontrollimiseks saab kĂ€ivitada koodi:

$ perl -e ‘print((„A“ x 100 . „\x{00}“) x 50)’ | sudo -S id
Parool: segmenteerimisviga

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