iTerm2 w wersjach przed 3.4.20 zawiera podatność umożliwiającą zdalne wykonanie kodu (RCE) wynikającą z błędnej obsługi określonych sekwencji escape powiązanych z integracją tmux. Krytyczny poziom CVSS 9.8 oznacza, że atakujący nie potrzebuje żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
iTerm2 before 3.4.20 allow (potentially remote) code execution because of mishandling of certain escape sequences related to tmux integration.
Podatność (CWE-116) polega na nieprawidłowym kodowaniu lub neutralizacji danych wyjściowych — konkretnie sekwencji escape obsługiwanych w ramach integracji z tmux. Spreparowane sekwencje escape mogą zostać zinterpretowane przez iTerm2 jako polecenia, co prowadzi do wykonania arbitralnego kodu. Ponieważ sekwencje takie mogą pochodzić ze zdalnych źródeł (np. treści wyświetlanych w terminalu), atak może być przeprowadzony zdalnie — wystarczy, że ofiara wyświetli w iTerm2 złośliwą zawartość.
Atakujący może wykonać dowolny kod na maszynie ofiary z uprawnieniami bieżącego użytkownika, uzyskując pełną kontrolę nad poufnością, integralnością i dostępnością systemu.
Należy zaktualizować iTerm2 do wersji 3.4.20 lub nowszej. Patche dostępne są w repozytorium projektu oraz na oficjalnej stronie producenta (iterm2.com).
iTerm2 w wersjach przed 3.4.20 na systemach macOS.
Szczegółowa analiza podatności została opublikowana przez badacza na blogu solidsnail.com (post z 2023-08-28). Poprawka wprowadzona została w dwóch commitach w repozytorium GitHub projektu iTerm2.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIterm2
APPIterm2< 3.4.20
Powiązane podatności
iTerm2: wyciek danych z poleceń terminalowych przez plik /tmp/framer.txt
iTerm2: RCE przez niezastosowanie ustawienia tytułu okna terminala
iTerm2: wstrzyknięcie kodu przez sekwencję escape w integracji tmux (RCE)
iTerm2: brak sanityzacji nazwy hosta SSH w URL przed wersją 3.5.0beta12
iTerm2: brak sanityzacji ścieżek w URL-ach x-man-page umożliwia wstrzyknięcie poleceń