Ekipa z GitHub Security Lab postanowiła ostatnio przeaudytować projekt Datahub. Wśród licznych znalezisk mamy również takie: Missing JWT signature check (CVE-2022-39366) CVSS: 9.9 Obeznani z tematyką JWT już wiedzą co się tutaj święci. No więc tak… we wspomnianym systemie można było w payloadzie tokenu JWT umieścić absolutnie wszystko, a podpis takiego…
Czytaj dalej »
Ciekawostka dla łowców interesujących bugów :-) Mieliśmy już różne warianty definicji algorytmy podpisów w JWT (none, NonE). Widzieliśmy również całkowite usunięcie sekcji podpisu. Teraz jeszcze coś innego: We can authorize by any user. For that we can use jwt token with empty shared_secret. Czyli w tokenie JWT podajemy puste hasło…
Czytaj dalej »
Ostatnio nieco atencji doznały te podatności (są one już dość wiekowe – 2019r. / załatane, ale mają sporą wartość edukacyjną – stąd ten wpis). Jak można było uzyskać dostęp do e-maili innych osób via OWA? W pewnym miejscu ten ostatni generował token JWT, który (uwaga, uwaga) nie był podpisany (więcej…
Czytaj dalej »
DP-3T (pisaliśmy m.in. o nim jakiś czas temu) to jedno z bardziej dojrzałych rozwiązań do tzw. contact tracingu. Tymczasem niedawno załatano taką podatność: Missing signature validation of JWT when alg=none Podatność występowała w jednym z komponentów backendowych całości: When dp3t-sdk-backend is configured to check a JWT before uploading/publishing keys, it was…
Czytaj dalej »
„Sign in with Apple” to funkcja na urządzeniach Apple, która pozwala wykorzystać konto iCloud do uwierzytelnienia w innych aplikacjach. Od strony użytkownika działa na podobnej zasadzie jak – bardziej powszechne – „Zaloguj z kontem Google” czy „Zaloguj z Facebookiem”. Od strony technicznej, rozwiązanie opiera się o wygenerowanie tokenu JWT przez…
Czytaj dalej »
Jeśli chcecie zapoznać się z bezpieczeństwem JWT – zerknijcie tutaj. W dużym skrócie tokeny JWT stosowane są niekiedy jako pewnego rodzaju klucze API. Nie masz dobrego klucza – nie skorzystasz z API. Proste. Żeby użytkownik nie mógł podrobić (czy wręcz stworzyć) takiego tokenu – (standardowo) używane są podpisy: Jeśli nie…
Czytaj dalej »
To zapis jednego z wykładów które prowadziłem niedawno: Jeśli ktoś potrzebuje się z kolei dowiedzieć więcej (w tematach związanych z bezpieczeństwem API) – zapraszam na moje szkolenie: bezpieczeństwo API REST. –ms
Czytaj dalej »
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:…
Czytaj dalej »
Jest to wiedza zarówno dotycząca zasadniczych problemów bezpieczeństwa w JWT, przejście po ciekawych podatnościach w bibliotekach. Mamy również dwudziestopunktową checklistę – co sprawdzić w kontekście bezpieczeństwa swojej implementacji.
Czytaj dalej »