Er is een kwetsbaarheid (CVE-2022-45063) ontdekt in de xterm terminal-emulator, waardoor shell-opdrachten kunnen worden uitgevoerd tijdens het verwerken van bepaalde escape-sequenties in de terminal. In het eenvoudigste geval kan een aanval worden uitgevoerd door de inhoud van een speciaal geformatteerd bestand weer te geven, bijvoorbeeld met het hulpprogramma cat, of door een tekenreeks uit het klembord te plakken. printf «\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a» > cve-2022-45063 cat cve-2022-45063
Het probleem wordt veroorzaakt door een fout in de verwerking van escape sequence code 50, die wordt gebruikt om lettertypeparameters in te stellen of op te halen. Als het gevraagde lettertype niet bestaat, retourneert de bewerking de lettertypenaam die in de aanvraag is opgegeven. Besturingstekens kunnen niet rechtstreeks in de naam worden ingevoegd, maar de geretourneerde string kan worden afgesloten met de sequentie "^G". In zsh veroorzaakt dit, wanneer regelbewerking in vi-stijl actief is, een lijstuitbreidingsbewerking, die kan worden gebruikt om opdrachten uit te voeren zonder expliciet op Enter te drukken.
Для успешной эксплуатации уязвимости пользователь должен использовать командную оболочку 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, UbuntuArch LinuxOpenBSD, FreeBSD, NetBSD.
Bron: opennet.ru
