Vulnerabilidade en xterm que leva á execución de código ao procesar determinadas liñas

Identificouse unha vulnerabilidade no emulador de terminal xterm (CVE-2022-45063) que permite executar comandos de shell cando se procesan determinadas secuencias de escape no terminal. Para un ataque no caso máis sinxelo, abonda con mostrar o contido dun ficheiro especialmente deseñado na pantalla, por exemplo, usando a utilidade cat ou pegar unha liña do portapapeis. printf "\e]50;i\$(toque /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

O problema é causado por un erro no procesamento do código de escape 50 usado para establecer ou obter opcións de fonte. Se o tipo de letra solicitado non existe, a operación devolve o nome do tipo de letra especificado na solicitude. Os caracteres de control non se poden inserir directamente no nome, pero a cadea devolta pódese rematar coa secuencia "^G", que en zsh, cando o modo de edición de liñas estilo vi está activo, fai que se realice unha operación de expansión da lista, que pódese usar para executar comandos sen premer explícitamente a tecla Intro.

Para explotar a vulnerabilidade con éxito, o usuario debe usar o shell de comandos Zsh co editor de liña de comandos (vi-cmd-mode) cambiado ao modo "vi", que normalmente non se usa por defecto nas distribucións. O problema tampouco aparece cando xterm está configurado como allowWindowOps=false ou allowFontOps=false. Por exemplo, a configuración allowFontOps=false está definida en OpenBSD, Debian e RHEL, pero non se aplica por defecto en Arch Linux.

Baseándose no rexistro de cambios e na declaración do investigador que identificou o problema, a vulnerabilidade solucionouse na versión xterm 375, pero segundo outras fontes, a vulnerabilidade segue manifestándose en xterm 375 de Arch Linux. Podes seguir a publicación de correccións por distribucións nestas páxinas: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Fonte: opennet.ru

Engadir un comentario