Vulnerabilitat en xterm que condueix a l'execució de codi en processar determinades cadenes

S'ha identificat una vulnerabilitat (CVE-2022-45063) a l'emulador de terminal xterm, que permet executar ordres de shell quan es processen determinades seqüències d'escapada al terminal. Per a un atac en el cas més simple, n'hi ha prou amb mostrar el contingut d'un fitxer especialment dissenyat, per exemple, amb la utilitat cat, o enganxar una línia del porta-retalls. printf "\e]50;i\$(toqueu /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

El problema és causat per un error en la gestió de la seqüència d'escapada del codi 50 que s'utilitza per establir o recuperar les opcions de tipus de lletra. Si el tipus de lletra sol·licitat no existeix, l'operació retorna el nom del tipus de lletra especificat a la sol·licitud. No podeu inserir directament caràcters de control al nom, però la cadena retornada es pot acabar amb la seqüència "^G", que a zsh, quan el mode d'edició de línies d'estil vi està actiu, fa que es realitzi una operació d'expansió de llista, que pot s'utilitzarà per executar ordres sense prémer explícitament la tecla Enter.

Per explotar la vulnerabilitat amb èxit, l'usuari ha d'utilitzar l'intèrpret d'ordres Zsh amb l'editor de línia d'ordres (vi-cmd-mode) configurat en el mode "vi", que normalment no s'utilitza per defecte a les distribucions. El problema tampoc apareix quan s'estableix la configuració de xterm allowWindowOps=false o allowFontOps=false. Per exemple, allowFontOps=false s'estableix a OpenBSD, Debian i RHEL, però no s'aplica de manera predeterminada a Arch Linux.

A jutjar per la llista de canvis i la declaració de l'investigador que va identificar el problema, la vulnerabilitat es va solucionar a la versió xterm 375, però segons altres fonts, la vulnerabilitat continua apareixent a xterm 375 d'Arch Linux. Podeu fer un seguiment de la publicació de correccions per distribucions en aquestes pàgines: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Font: opennet.ru

Afegeix comentari