W serwerze Rocket.Chat w wersjach 3.11, 3.12 i 3.13 istnieje podatność wynikająca z nieprawidłowej sanityzacji danych wejściowych, umożliwiająca nieuwierzytelniony NoSQL injection. W konsekwencji atakujący może potencjalnie uzyskać zdalne wykonanie kodu (RCE) na serwerze bez posiadania jakichkolwiek poświadczeń.
▸ Pokaż oryginał (EN)
A improper input sanitization vulnerability exists in Rocket.Chat server 3.11, 3.12 & 3.13 that could lead to unauthenticated NoSQL injection, resulting potentially in RCE.
Podatność polega na braku odpowiedniego oczyszczania danych wejściowych trafiających do zapytań NoSQL. Atakujący bez konieczności uwierzytelnienia może przesłać spreparowane dane, które zostaną zinterpretowane jako operatory lub polecenia bazy danych NoSQL zamiast zwykłych wartości. Skuteczne wykorzystanie podatności może następnie prowadzić do eskalacji — od odczytu lub modyfikacji danych aż po zdalne wykonanie kodu na serwerze.
Atakujący może bez uwierzytelnienia przejąć kontrolę nad bazą danych aplikacji (odczyt, modyfikacja, usunięcie danych) oraz potencjalnie uzyskać zdalne wykonanie kodu (RCE) na serwerze, co oznacza pełne przejęcie systemu.
Należy zaktualizować Rocket.Chat do wersji nowszej niż 3.13, w której producent usunął podatność. Szczegółowe informacje o dostępnych łatkach należy zweryfikować w referencjach producenta oraz raporcie SonarSource (blog.sonarsource.com).
Rocket.Chat Server w wersjach 3.11, 3.12 oraz 3.13
Publiczne exploity dla tej podatności zostały opublikowane w serwisie Packet Storm Security (co najmniej dwa osobne wpisy). Szczegółowa analiza techniczna dostępna jest na blogu SonarSource. Podatność była zgłoszona przez program bug bounty HackerOne (raport #1130721).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRocket.chat
APPRocket.Chat3.11.03.12.03.13.0
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