iTerm2 przed wersją 3.5.0beta12 nie przeprowadza sanityzacji nazw hostów SSH zawartych w URL-ach, co może umożliwić atakującemu wstrzyknięcie złośliwych danych. Podatność oceniono jako krytyczną (CVSS 9.8) ze względu na możliwość jej zdalnego wykorzystania bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
iTermSessionLauncher.m in iTerm2 before 3.5.0beta12 does not sanitize ssh hostnames in URLs. The hostname's initial character may be non-alphanumeric. The hostname's other characters may be outside the set of alphanumeric characters, dash, and period.
Plik iTermSessionLauncher.m nie weryfikuje poprawności znaków w nazwie hosta SSH przekazanej w URL. Pierwsza litera nazwy hosta może być znakiem niealfanumerycznym, a kolejne znaki mogą wychodzić poza dozwolony zbiór (litery, cyfry, myślnik, kropka). Brak tej weryfikacji (CWE-117 — niewystarczające neutralizowanie danych w logach/strumieniach) pozwala na przemycenie niespodziewanych znaków lub sekwencji sterujących do obsługiwanego łańcucha połączenia.
Atakujący zdalnie, bez uwierzytelnienia, może potencjalnie uzyskać pełną kontrolę nad poufnością, integralnością i dostępnością systemu — co odpowiada maksymalnym wynikom składowym CVSS (C:H/I:H/A:H). Konkretny wektor wykonania kodu lub eskalacji uprawnień nie został szczegółowo opisany przez producenta.
Należy zaktualizować iTerm2 do wersji 3.5.0beta12 lub nowszej, w której wprowadzono poprawkę sanityzacji nazwy hosta SSH (commit ef7bb84520013b2524df9787d4aa9f2c96746c01). Najnowsze wydania dostępne są na stronie https://iterm2.com/downloads.html
iTerm2 we wszystkich wersjach wcześniejszych niż 3.5.0beta12
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 ścieżek w URL-ach x-man-page umożliwia wstrzyknięcie poleceń
RCE w iTerm2 przez nieprawidłową obsługę sekwencji escape w integracji tmux