Vulnerabiliteti root në sudo që prek Linux Mint dhe Elementary OS

Në utilitarin sudo, i përdorur për të organizuar ekzekutimin e komandave në emër të përdoruesve të tjerë, u zbulua një vulnerabilitet (CVE-2019-18634), i cili lejon rritjen e privilegjeve në sistem në nivelin e përdoruesit root. Problemi shfaqet duke filluar nga lëshimi i sudo 1.7.1 vetëm kur përdoret në skedarin /etc/sudoers opsioni "pwfeedback", i cili është i çaktivizuar si parazgjedhje, por aktivizohet në disa distribucione, të tilla si Linux Mint dhe Elementary OS. Problemi është zgjidhur në lëshimin sudo 1.8.31, i publikuar disa orë më parë. Në distribucionet, vulnerabiliteti ende mbetet i pa korrigjuar.

Opsioni "pwfeedback" aktivizon shfaqjen e simbolit "*" pas çdo simboli të futur gjatë futjes së fjalëkalimit. Për shkak të gabimit në zbatimin e funksionit getln(), të përcaktuar në skedarin tgetpass.c, një varg i kaluar përmes kanali standard të hyrjes (stdin) që është shumë i madh në kushte të caktuara mund të mos përputhet në tamponin e ndarë dhe të mbulojë të dhëna të tjera në stack. Mbushja e tamponit ndodh gjatë ekzekutimit të kodit sudo me privilegje root.

Thelbi i problemit është se gjatë përdorimit në procesin e futjes së simbolit të veçantë ^U (pastrimi i rreshtit) dhe në rastin e dështimit të operacionit të shkrimit, kodi që përgjigjet për pastrimin e simboleve të dhëna "*" rikthen të dhënat për madhësinë e tamponit, por nuk kthyer në vlerën e origjinës treguesin në pozitat aktuale në tampon. Një faktor tjetër që kontribuon në shfrytëzim është mungesa e çaktivizimit automatik të modit "pwfeedback" gjatë marrjes së të dhënave jo nga terminali, por përmes kanali të hyrjes (ky problem lejon krijimin e kushteve për të shkaktuar gabimin e shkrimit, për shembull, në sistemet me kanale të njëanshme të paemëruar gabimi ndodh gjatë përpjekjes për të shkruar përtej fundit të kanalit për leximin).

Duke sul sulmuesi mund të kontrollojë plotësisht rinovimin e të dhënave në stack, nuk paraqet vështirësi krijimi i një eksploiti që mund të rrisë privilegjet e veta deri te përdoruesi root. Problemi mund të shfrytëzohet nga çdo përdorues, pa marrë parasysh të drejtat për përdorimin e sudo dhe praninë e konfigurimeve specifike për përdoruesin në sudoers. Për të bllokuar problemin, duhet të siguroheni që nuk ka asnjë konfigurim në /etc/sudoers të quajtur "pwfeedback" dhe, nëse është e nevojshme, ta çaktivizoni atë ("Defaults !pwfeedback"). Për të verifikuar praninë e problemit, mund të ekzekutoni kodin:

$ perl -e ‘print(("A" x 100 . "\x{00}") x 50)’ | sudo -S id
Fjalëkalimi: Segmentation fault

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster