Në emulatorin e terminalit xterm është gjetur një dobësi (CVE-2022-45063) që lejon ekzekutimin e komandave shell kur përpunohen në terminal sekuenca të caktuara escape. Për sulmn në rastin më të thjeshtë mjafton të nxjerrësh në ekran përmbajtjen e një skedari të formatuar posaçërisht, për shembull, duke përdorur utilitarin cat, ose të ngjish një rresht nga clipboard. printf «\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a» > cve-2022-45063 cat cve-2022-45063
Problemi shkaktohet nga një gabim në përpunimin e sekuencës escape me kod 50, e cila përdoret për vendosjen ose marrjen e parametrave të fontit. Nëse fonti i kërkuar nuk ekziston, operacioni kthen emrin e fontit të vendosur në kërkesë. Simbolet kontrolluese nuk mund të futen direkt në emrin, por stringu që kthehet mund të përfundojë me sekuencën «^G», e cila në zsh me aktivizimin e modit të redaktimit të linjave në stilin vi, çon në ekzekutimin e një operacioni listimi, gjë që mund të përdoret për të nisur komanda pa shtypur qartë tastin Enter.
Për të përdorur me sukses këtë dobësi, përdoruesi duhet të përdorë shell-in Zsh me redaktorin e linjës së komandës të vendosur në modin «vi» (vi-cmd-mode), i cili zakonisht nuk përdoret për parazgjedhje në distribucione. Problemi nuk shfaqet po të vendosen në xterm cilësimet allowWindowOps=false ose allowFontOps=false. Për shembull, cilësimi allowFontOps=false vendoset në OpenBSD, Debian dhe RHEL, por nuk aplikohet për parazgjedhje në Arch Linux.
Sipas listës së ndryshimeve dhe deklaratës së kërkuesit që e zbuloi problemin, dobësia është eliminuar në lëshimin e xterm 375, por sipas burimeve të tjera, ajo vazhdon të shfaqet në xterm 375 nga Arch Linux. Mund të ndiqni publikimin e rregullimeve nga distribucionet në këto faqe: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.
Burimi: opennet.ru
