iTerm2 w wersjach przed 3.5.0beta12 nie sanityzuje ścieżek przekazywanych w URL-ach typu x-man-page, co pozwala na wstrzyknięcie shell metacharacters do wywołania polecenia /usr/bin/man. Podatność jest krytyczna, ponieważ może być wykorzystana zdalnie bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
iTermSessionLauncher.m in iTerm2 before 3.5.0beta12 does not sanitize paths in x-man-page URLs. They may have shell metacharacters for a /usr/bin/man command line.
Plik iTermSessionLauncher.m obsługuje specjalny schemat URL x-man-page, który konstruuje wywołanie polecenia /usr/bin/man z parametrami pobranymi z URL-a. Ponieważ ścieżki w tych URL-ach nie są odpowiednio sanityzowane, atakujący może umieścić w nich shell metacharacters (np. średniki, cudzysłowy, znaki potoku). Złośliwie spreparowany URL x-man-page może w ten sposób doprowadzić do wykonania dowolnych poleceń systemowych w kontekście aplikacji iTerm2.
Atakujący może osiągnąć zdalne wykonanie kodu (RCE) na systemie ofiary z uprawnieniami użytkownika uruchamiającego aplikację iTerm2, co prowadzi do pełnej utraty poufności, integralności i dostępności systemu.
Należy zaktualizować iTerm2 do wersji 3.5.0beta12 lub nowszej. Poprawka dostępna jest w repozytorium projektu (commit de3d351e1bd3bc1c1a4f85fe976c592e497dd071) oraz za pośrednictwem oficjalnej strony pobierania iTerm2.
Aplikacja iTerm2 w wersjach przed 3.5.0beta12 na systemach macOS.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIterm2
APPIterm23.5.0≤ 3.4.21
Powiązane podatności
iTerm2: wyciek danych z poleceń terminalowych przez plik /tmp/framer.txt
iTerm2: wstrzyknięcie kodu przez sekwencję escape w integracji tmux (RCE)
iTerm2: RCE przez niezastosowanie ustawienia tytułu okna terminala
iTerm2: brak sanityzacji nazwy hosta SSH w URL przed wersją 3.5.0beta12
RCE w iTerm2 przez nieprawidłową obsługę sekwencji escape w integracji tmux