Podatność w NodeBB umożliwia nieuwierzytelnionemu atakującemu podszywanie się pod innych użytkowników i przejęcie ich kont. Krytyczny poziom zagrożenia wynika z braku wymagań co do uwierzytelnienia lub interakcji ofiary.
▸ Pokaż oryginał (EN)
NodeBB is an open source Node.js based forum software. Due to a plain object with a prototype being used in socket.io message handling a specially crafted payload can be used to impersonate other users and takeover accounts. This vulnerability has been patched in version 2.6.1. Users are advised to upgrade. Users unable to upgrade may cherry-pick commit `48d143921753914da45926cca6370a92ed0c46b8` into their codebase to patch the exploit.
W obsłudze wiadomości socket.io aplikacja używa zwykłego obiektu JavaScript posiadającego prototyp (plain object with a prototype). Specjalnie spreparowany payload wysłany przez atakującego może wykorzystać mechanizm prototype pollution (CWE-665 — niewłaściwa inicjalizacja zasobu), aby manipulować wewnętrznym stanem aplikacji. W efekcie możliwe jest sfałszowanie tożsamości innego użytkownika bez znajomości jego hasła.
Atakujący może podszyć się pod dowolnego użytkownika forum, w tym administratora, i całkowicie przejąć jego konto, uzyskując pełny dostęp do jego danych i uprawnień.
Należy zaktualizować NodeBB do wersji 2.6.1 lub nowszej. Użytkownicy, którzy nie mogą przeprowadzić aktualizacji, powinni ręcznie zastosować commit `48d143921753914da45926cca6370a92ed0c46b8` do swojej bazy kodu.
NodeBB w wersjach poprzedzających 2.6.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LNodebb
APPNodebb< 2.6.1
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 przewidywalny token resetu hasła
NodeBB: prototype pollution i XSS w module uploader umożliwiające przejęcie konta
NodeBB — pominięcie uwierzytelnienia w weryfikacji tokenów API (Auth Bypass)