Besteen terminaletan ihes-sekuentziak ordezkatzeko aukera ematen duen ahultasuna

Ahultasun bat (CVE-2024-28085) identifikatu da horma-utilitatean, util-linux paketean hornitua eta terminaletara mezuak bidaltzeko xedea duena, ihes-sekuentzien manipulazioaren bidez beste erabiltzaileen terminalen aurkako erasoa ahalbidetzen duena. Arazoa horma-utilitateak sarrerako korrontean ihes-sekuentziak blokeatzen ditu baina ez ditu komando-lerroko argumentuetan egiten, erasotzaileak beste erabiltzaileen terminaletako ihes-sekuentziak ihes egiteko aukera emanez.

Adibidez, 'wall $(printf "\033[33mHI")' exekutatuz "HI" horiz inprima dezakezu. Erakuslea mugitu, garbitu eta pantailako edukia ordezkatzeko aukera ematen duten ihes-sekuentziak erabiliz, sudo pasahitz-gonbita beste erabiltzaile baten terminalean erakustea simula dezakezu. Erabiltzaileak ez badu trikimailuaz ohartzen eta bere pasahitza sartzen badu, pasahitza sarrerako historian agertuko da existitzen ez den komando gisa (hain zuzen ere, erabiltzaileak komando baten ordez bere pasahitza sartuko du komando lerroan). "\033[3A" // mugitu kurtsorea 3 lerrotan gora "\033[K" // ezabatu aurreko irteera "[sudo] pasahitza_erabiltzailearentzat:" // bistaratu simulazio sudo eskaera "\033[?25l" / / ezarri atzeko planoaren kolorea sarrera ezkutatzeko "\033[38;2;48;10;36m"

Sartutako komandoa aurkitu ez dela dioen abisua ematen denean, banaketa askok /usr/lib/command-not-found kudeatzailea exekutatzen du, falta den komandoa duen paketea identifikatzen saiatzen dena eta instalatu daitekeen ala ez jakiteko aholkua ematen duena. . Arazoa da aurkitu ez den komandoaren kudeatzailea abiarazten denean, existitzen ez den komando bat pasatzen zaiola komando-lerroko parametro gisa, eta hori ikusgai dagoen prozesuak sisteman ikusten direnean (adibidez, desinstalatutako utilitatea exekutatzen saiatzen denean). "xsnow", "/usr" ikusgai egongo da prozesuen zerrendan /lib/command-not-found - xsnow"). Horren arabera, erasotzaileak exekutatzen ari diren prozesuak kontrola ditzake (adibidez, "/proc/$pid/cmdline" agerraldia aurreikusitako PID zenbakian aztertuz) eta biktimak komando-lerroan sartutako pasahitza zehaztu.

Erabiltzaileak pasahitza sar dezan sudo gonbita fikziozko bati erantzuteko, trikimailu bat proposatu da, eta horren funtsa da prozesuen zerrendan sudo erabilgarritasunaren benetako abiaraztearen jarraipena egitea, amaitu arte itxaron eta atentatu bat egin β€œharresian” ondoren berehala. Ihes-sekuentziak manipulatuz, erasotzaileak sudo benetako exekuzioaren ondoren mezua ordezkatu dezake pasahitza berriro sartzeko gonbita faltsu batekin. Biktimak pasahitza sartzean akats bat egin duela pentsa dezake eta pasahitza bigarren aldiz sartu, pasahitza agerian utziz "komandoa ez aurkitu" kudeatzailearen argumentuetan.

Eraso arrakastatsu batek "mesg" modua "y"-n ezarri behar du, Ubuntun, Debian eta CentOS/RHEL-en lehenespenez ezarrita dagoena. Erasoa Ubuntu 22.04-n frogatu da bere konfigurazio lehenetsian gnome-terminal erabiliz. Debian-en, erasoa zaila da, izan ere, "agindu ez-aurkitu" kudeatzailea ez dago lehenespenez gaituta banaketan, eta CentOS/RHEL-en erasoak ez du funtzionatuko, horma-erabilgarritasuna setgid banderarik gabe instalatzen baita eta ez dute besteen terminaletarako sarbidea. Windows-terminal erabiltzean, erasoa alda daiteke arbeleko edukia aldatzeko.

Ahultasuna util-linux paketean dago 2013tik, 2.24 bertsioak hormako komando-lerroan mezu bat zehazteko gaitasuna gehitu ondoren, baina ihes-sekuentziak garbitzea ahaztu zen. Atzoko util-linux 2.40 bertsioan ahultasunerako konponketa bat sartzen da. Azpimarratzekoa da util-linux 2.39 bertsioaren ahultasuna konpontzen saiatzean, antzeko beste ahultasun bat identifikatu zela, zeinak kontrol karaktereak ordezkatzea ahalbidetzen duela lokalen manipulazioaren bidez.

Iturria: opennet.ru

Gehitu iruzkin berria