W oprogramowaniu NodeBB wykryto podatność typu prototype pollution w module odpowiedzialnym za przesyłanie plików, która pozwala złośliwemu użytkownikowi na wstrzyknięcie dowolnego kodu JavaScript do DOM. W połączeniu z jednocześnie ujawnioną podatnością path traversal może prowadzić do przejęcia konta innego użytkownika.
▸ Pokaż oryginał (EN)
Nodebb is an open source Node.js based forum software. In affected versions a prototype pollution vulnerability in the uploader module allowed a malicious user to inject arbitrary data (i.e. javascript) into the DOM, theoretically allowing for an account takeover when used in conjunction with a path traversal vulnerability disclosed at the same time as this report. The vulnerability has been patched as of v1.18.5. Users are advised to upgrade as soon as possible.
Podatność wynika z nieprawidłowej obsługi danych wejściowych w module uploader, co umożliwia atak typu prototype pollution (CWE-1321) — manipulację prototypem obiektów JavaScript. Osoba atakująca może za jego pomocą wstrzyknąć arbitralny kod JavaScript do DOM (XSS, CWE-79). Atak wymaga uwierzytelnionego dostępu do aplikacji oraz interakcji po stronie ofiary (UI:R), natomiast jego skutki wykraczają poza zakres aplikacji (S:C). Połączenie tej podatności z towarzyszącą luką path traversal teoretycznie umożliwia pełne przejęcie konta.
Atakujący może wykonać złośliwy kod JavaScript w kontekście przeglądarki ofiary, co w połączeniu z podatnością path traversal może doprowadzić do przejęcia konta użytkownika, a także do naruszenia poufności, integralności i dostępności danych (CVSS C:H/I:H/A:H).
Należy zaktualizować NodeBB do wersji v1.18.5 lub nowszej, w której podatność została załatana. Producent zaleca jak najszybsze przeprowadzenie aktualizacji.
NodeBB w wersjach poprzedzających v1.18.5
Podatność została zgłoszona i opisana przez badaczy z SonarSource (blog.sonarsource.com). Łatka dostępna jest w commicie 1783f918bc19568f421473824461ff2ed7755e4c w repozytorium GitHub projektu NodeBB.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:HNodebb
APPNodebb1.15.5 – 1.18.4
Powiązane podatności
RCE w NodeBB via endpoint xmlrpc.php — wykonanie dowolnego kodu
NodeBB: path traversal umożliwiający zdalne wykonanie kodu JavaScript
NodeBB — przejęcie konta przez prototype pollution w socket.io
NodeBB: przejęcie konta przez przewidywalny token resetu hasła
NodeBB — pominięcie uwierzytelnienia w weryfikacji tokenów API (Auth Bypass)