Xterm ievainojamība, kas izraisa koda izpildi, apstrādājot noteiktas rindas

Xterm termināļa emulatorā ir identificēta ievainojamība (CVE-2022-45063), kas ļauj izpildīt čaulas komandas, kad terminālī tiek apstrādātas noteiktas evakuācijas secības. Uzbrukumam vienkāršākajā gadījumā pietiek parādīt īpaši izstrādāta faila saturu, piemēram, izmantojot utilītu cat, vai ielīmēt rindiņu no starpliktuves. printf "\e]50;i\$(pieskarieties /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Problēmu izraisa kļūda, apstrādājot koda 50 atsoļa secību, ko izmanto fontu opciju iestatīšanai vai izgūšanai. Ja pieprasītais fonts nepastāv, operācija atgriež pieprasījumā norādīto fonta nosaukumu. Vadības rakstzīmes nevar tieši ievietot nosaukumā, bet atgriezto virkni var beigt ar secību "^G", kas zsh, kad ir aktīvs vi-style rindiņu rediģēšanas režīms, izraisa saraksta paplašināšanas darbību, kas var var izmantot, lai palaistu komandas, skaidri nenospiežot taustiņu Enter.

Lai veiksmīgi izmantotu ievainojamību, lietotājam ir jāizmanto Zsh komandu apvalks ar komandrindas redaktoru (vi-cmd-mode), kas iestatīts uz “vi” režīmu, kas parasti netiek izmantots izplatījumos pēc noklusējuma. Problēma neparādās arī tad, ja ir iestatīti xterm iestatījumi allowWindowOps=false vai allowFontOps=false. Piemēram, allowFontOps=false ir iestatīts OpenBSD, Debian un RHEL, bet netiek lietots pēc noklusējuma Arch Linux.

Spriežot pēc izmaiņu saraksta un problēmu identificējušā pētnieka paziņojuma, ievainojamība tika novērsta xterm 375 laidienā, taču saskaņā ar citiem avotiem ievainojamība turpina parādīties Arch Linux versijā xterm 375. Varat izsekot labojumu publicēšanai pēc izplatīšanas šajās lapās: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Avots: opennet.ru

Pievieno komentāru