Ang isang kahinaan (CVE-2022-45063) ay natuklasan sa xterm terminal emulator. Ang kahinaan na ito ay nagbibigay-daan para sa pagpapatupad ng mga shell command kapag ang ilang mga escape sequence ay naproseso sa terminal. Ang isang simpleng pag-atake ay maaaring gawin sa pamamagitan ng pagpapakita ng mga nilalaman ng isang espesyal na ginawang file, halimbawa, gamit ang cat utility, o sa pamamagitan ng pag-paste ng string mula sa clipboard. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063
Ang problema ay sanhi ng isang error sa paghawak ng escape sequence code 50, na ginagamit upang itakda o kunin ang mga parameter ng font. Kung wala ang hiniling na font, ibabalik ng operasyon ang tinukoy na pangalan ng font. Ang mga control character ay hindi maaaring direktang ipasok sa pangalan, ngunit ang ibinalik na string ay maaaring wakasan gamit ang "^G" na pagkakasunud-sunod, na sa zsh, kapag nasa vi-style line editing mode, ay nagdudulot ng pagpapalawak ng listahan, na maaaring magamit upang magpatakbo ng mga command nang hindi hayagang pinindot ang Enter.
Для успешной эксплуатации уязвимости пользователь должен использовать командную оболочку Zsh с переведённым в режим «vi» редактором командной строки (vi-cmd-mode), который обычно не используется по умолчанию в дистрибутивах. Проблема также не проявляется при выставлении в xterm настроек allowWindowOps=false или allowFontOps=false. Например, настройка allowFontOps=false выставляется в OpenBSD, Debian и RHEL, но не применяются по умолчанию в Arch Linux.
Судя по списку изменений и заявлению выявившего проблему исследователя уязвимость устранена в выпуске xterm 375, но по другим сведениям уязвимость продолжает проявляться в xterm 375 из состава Arch Linux. Проследить за публикацией исправлений дистрибутивами можно на данных страницах: Debian, RHEL, Fedora, SUSE, Ubuntu, Arko Linux, OpenBSD, FreeBSD, NetBSD.
Pinagmulan: opennet.ru
