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.

12 marca 2019, 11:46 | W biegu | komentarze 4

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:

Invalid signature. Expected 8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgB1Y= got 8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgBOo=

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

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Sphere

    Love it

    Odpowiedz
  2. Boaz

    Witamy w świecie dontNet ;)

    Odpowiedz
    • Eltu

      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

      Odpowiedz
  3. Jimw

    Ta podatność jest tylko dla asów wysyłających komunikaty błędu z bibliotek do klienta. A takim to niewiele pomoże…

    Odpowiedz

Odpowiedz