Ranjivost u xterm-u koja dovodi do izvršavanja koda prilikom obrade određenih stringova

Identifikovana je ranjivost (CVE-2022-45063) u emulatoru terminala xterm, koja omogućava izvršavanje naredbi ljuske kada se određene escape sekvence obrađuju u terminalu. Za napad u najjednostavnijem slučaju, dovoljno je prikazati sadržaj posebno dizajnirane datoteke, na primjer, pomoću uslužnog programa cat, ili zalijepiti red iz međuspremnika. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Problem je uzrokovan greškom u rukovanju escape sekvencom koda 50 koja se koristi za postavljanje ili preuzimanje opcija fonta. Ako traženi font ne postoji, operacija vraća ime fonta navedeno u zahtjevu. Ne možete direktno umetnuti kontrolne znakove u ime, ali se vraćeni niz može završiti nizom "^G", koji u zsh-u, kada je aktivan mod za uređivanje linija u vi stilu, uzrokuje da se izvrši operacija proširenja liste, što može koristiti za pokretanje komandi bez eksplicitnog pritiska na tipku Enter.

Da bi uspješno iskoristio ranjivost, korisnik mora koristiti Zsh komandnu ljusku sa uređivačem komandne linije (vi-cmd-mode) postavljenim na “vi” način rada, koji se obično ne koristi po defaultu u distribucijama. Problem se također ne pojavljuje kada su postavke xterm allowWindowOps=false ili allowFontOps=false postavljene. Na primjer, allowFontOps=false je postavljen u OpenBSD, Debian i RHEL, ali se ne primjenjuje prema zadanim postavkama u Arch Linuxu.

Sudeći prema listi izmjena i izjavi istraživača koji je identifikovao problem, ranjivost je ispravljena u izdanju xterm 375, ali prema drugim izvorima, ranjivost se i dalje pojavljuje u xterm 375 iz Arch Linuxa. Objavljivanje popravaka po distribucijama možete pratiti na ovim stranicama: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

izvor: opennet.ru

Dodajte komentar