Podatność typu command injection w aplikacji Rocket.Chat Desktop w wersjach poniżej 3.8.14 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu na maszynie ofiary. Wysoka ocena CVSS 9.8 wynika z braku wymogu uwierzytelnienia i możliwości pełnej kompromitacji systemu.
▸ Pokaż oryginał (EN)
A command injection vulnerability exists in Rocket.Chat-Desktop <3.8.14 that could allow an attacker to pass a malicious url of openInternalVideoChatWindow to shell.openExternal(), which may lead to remote code execution (internalVideoChatWindow.ts#L17). To exploit the vulnerability, the internal video chat window must be disabled or a Mac App Store build must be used (internalVideoChatWindow.ts#L14). The vulnerability may be exploited by an XSS attack because the function openInternalVideoChatWindow is exposed in the Rocket.Chat-Desktop-API.
Atakujący może przekazać złośliwy adres URL do funkcji openInternalVideoChatWindow, który następnie trafia do wywołania shell.openExternal() bez odpowiedniej walidacji (plik internalVideoChatWindow.ts, linia 17). Funkcja openInternalVideoChatWindow jest dostępna poprzez Rocket.Chat Desktop API, co otwiera możliwość jej wywołania przez atak XSS. Warunkiem eksploitacji jest wyłączone okno wewnętrznego czatu wideo lub użycie wersji aplikacji z Mac App Store (warunek z linii 14 pliku internalVideoChatWindow.ts).
Skuteczne wykorzystanie podatności prowadzi do zdalnego wykonania kodu (RCE) w kontekście uprawnień użytkownika uruchamiającego aplikację, co może skutkować pełną kompromitacją stacji roboczej ofiary.
Należy zaktualizować aplikację Rocket.Chat Desktop do wersji 3.8.14 lub nowszej. Szczegóły dostępne w referencjach producenta na platformie HackerOne (raport #1781102).
Rocket.Chat Desktop w wersjach poniżej 3.8.14
Eksploitacja wymaga spełnienia co najmniej jednego z warunków: wyłączonego wewnętrznego okna wideo czatu lub użycia wersji aplikacji dystrybuowanej przez Mac App Store. Atak może być realizowany pośrednio poprzez XSS.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRocket.chat
APPRocket.Chat< 3.8.14
Powiązane podatności
Rocket.Chat SAML SSO — Auth Bypass przez brak wiązania podpisu XML
Rocket.Chat — podatność access control w plikach Livechat (nieautoryzowany dostęp)
Rocket.Chat — NoSQL injection umożliwiający przejęcie konta (SQLi)
Rocket.Chat — pominięcie await powoduje auth bypass w ddp-streamer
Rocket.Chat: brak unieważnienia sesji po aktywacji 2FA