Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
JWT (biblioteka Auth0): nie mogę przyjąć twojego sfałszowanego podpisu. Ale jestem uprzejmy – podam ci ten prawidłowy… Podatność miesiąca.
Jeśli ktoś zna tematykę JWT (JSON Web Token), to wie że aby uniemożliwić postronnym osobom modyfikacje zawartości tokena (payload), używany jest podpis. Bez weryfikacji podpisu każdy mógłby wygenerować dowolny token i serwer go zaakceptuje. Czyli np. dostajemy bezproblemowo dostęp do funkcji administracyjnych czy innych ciekawych danych.
Zobaczmy więc na podatność CVE-2019-7644:
All versions of Auth0-WCF-Service-JWT NuGet package lower than 1.0.4 include sensitive information about the expected JWT signature in an error message emitted when JWT signature validation fails:
This vulnerability allows attackers to use this error message to obtain a valid signature for arbitrary JWT tokens. This way attackers can forge tokens to bypass authentication and authorization mechanisms.
Właśnie – tworzymy swój (podrobiony) token, nie jesteśmy w stanie go prawidłowo podpisać, ale nie ma obaw – komunikat błędu z serwera, generowany gdy podpis się nie zgadza, podpowie nam co należy użyć. Witamy w roku 2019 :-)
–ms
Love it
Witamy w świecie dontNet ;)
A co ma do tego akurat .NET? Dawno nic w nim nie pisałem, ale wspominam bardzo dobrze, a przytoczony błąd wynika raczej z niedopatrzenia (sic!) twórców biblioteki.
Swoją drogą nienajlepiej to świadczy o tej firmie. Na miejscu ich klientów, a chwalą się niemałymi firmami na stronie, oczekiwałbym dokładnego audytu bezpieczeństwa ich bibliotek w krótkim czasie
Ta podatność jest tylko dla asów wysyłających komunikaty błędu z bibliotek do klienta. A takim to niewiele pomoże…