Vulnerability in xterm leading to code execution when processing certain strings

W emulatorze terminala xterm zidentyfikowano lukę (CVE-2022-45063), która umożliwia wykonanie poleceń powłoki podczas przetwarzania w terminalu określonych sekwencji escape. Aby przeprowadzić atak, wystarczy wyświetlić na ekranie zawartość specjalnie przygotowanego pliku, na przykład za pomocą narzędzia cat, lub wkleić linię z bufora schowka. printf «\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a» > cve-2022-45063 cat cve-2022-45063

Problem wynika z błędu podczas przetwarzania sekwencji escape z kodem 50, stosowanej do ustawiania lub pobierania parametrów czcionki. Jeśli żądana czcionka nie istnieje, operacja zwraca nazwę czcionki zadaną w żądaniu. Nie można bezpośrednio wstawić znaków sterujących do nazwy, ale zwracany ciąg może być zakończony sekwencją „^G”, która w zsh, gdy tryb edycji linii w stylu vi jest aktywowany, prowadzi do wykonania operacji rozwijania listy, co może być wykorzystane do uruchomienia poleceń bez wyraźnego naciśnięcia klawisza Enter.

Aby skutecznie wykorzystać lukę, użytkownik musi korzystać z powłoki Zsh w trybie „vi” (vi-cmd-mode), który zazwyczaj nie jest domyślnie używany w dystrybucjach. Problem nie występuje również, gdy w xterm ustawione są opcje allowWindowOps=false lub allowFontOps=false. Na przykład opcja allowFontOps=false jest ustawiana w OpenBSD, Debianie i RHEL, ale nie jest domyślnie stosowana w Arch Linuxie.

Zgodnie z listą zmian i oświadczeniem badacza, który zidentyfikował problem, luka została usunięta w wersji xterm 375, jednak według innych informacji luka nadal występuje w xterm 375 z Arch Linux. Można śledzić publikację poprawek przez dystrybucje na tych stronach: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster