ThingsBoard w wersji 4.3.0.1 zawiera krytyczną podatność umożliwiającą ominięcie uwierzytelniania podczas wymiany kodu autoryzacyjnego OAuth2. Zdalny atakujący bez żadnych uprawnień może przejąć pełną kontrolę nad dowolnym kontem użytkownika na platformie.
▸ Pokaż oryginał (EN)
ThingsBoard v4.3.0.1 is vulnerable to an authentication bypass during the OAuth authorization code exchange. The application improperly trusts user-supplied identity data within the user parameter of the /login/oauth2/code/ endpoint. By manipulating the email address in this JSON object, a remote attacker can bypass authentication and gain full access to any existing user account on the platform without possessing the target user's credentials. This results in a complete account takeover.
Aplikacja nieprawidłowo ufa danym tożsamości dostarczanym przez użytkownika w parametrze 'user' w endpoincie /login/oauth2/code/. Atakujący może zmanipulować adres e-mail w obiekcie JSON przesyłanym do tego endpointu, podając adres e-mail ofiary. Platforma traktuje te dane jako wiarygodne i uwierzytelnia atakującego jako wskazanego użytkownika, pomijając faktyczną weryfikację tożsamości (CWE-290: Authentication Bypass by Spoofing). Atak nie wymaga znajomości hasła ofiary, interakcji z użytkownikiem ani specjalnej konfiguracji sieciowej.
Atakujący uzyskuje pełny dostęp do wybranego konta użytkownika na platformie ThingsBoard, co skutkuje całkowitym przejęciem konta (account takeover) — włącznie z dostępem do danych, konfiguracji urządzeń IoT oraz funkcji administracyjnych dostępnych dla przejętego konta.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. W ramach środków tymczasowych należy rozważyć wyłączenie logowania przez OAuth2 lub ograniczenie dostępu do endpointu /login/oauth2/code/ na poziomie firewall/reverse proxy.
ThingsBoard v4.3.0.1
Publiczny proof-of-concept jest dostępny pod adresem wskazanym w referencjach (gist.github.com/KKC73), co istotnie obniża próg wejścia dla atakujących i uzasadnia pilne zastosowanie zabezpieczeń.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H