Katalog CVE

CVE-2026-91187

KrytyczneCVSS 9.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Podatność nieprawidłowej weryfikacji podpisu kryptograficznego w dashbit nimble_zta pozwala nieuwierzytelnionemu zdalnemu atakującemu na uwierzytelnienie się jako dowolny token usługi Cloudflare. Dotyczy to aplikacji korzystających ze strategii uwierzytelniania Cloudflare Zero Trust. Funkcja verify_token/2 w lib/nimble_zta/cloudflare.ex dopasowuje wynik JOSE.JWT.verify/2 do {_, token, _s}, co odrzuca wynik logiczny weryfikacji i zwraca zdekodowany token po nieudanej weryfikacji podpisu. Atakujący wysyła sfałszowany JWT w nagłówku cf-access-jwt-assertion, zawierający oczekiwane roszczenie iss oraz siedem roszczeń tokenu usługi. verify_iss/2 odczytuje roszczenie iss ze sfałszowanego tokenu, więc niczego nie odrzuca, a ścieżka tokenu usługi zwraca te roszczenia jako uwierzytelnioną tożsamość. Problem dotyczy nimble_zta od wersji 0.1.2 przed 0.1.3.

Ocena ryzyka

Atakujący może podszyć się pod dowolny token usługi Cloudflare, uzyskując nieautoryzowany dostęp do chronionych aplikacji. Może to prowadzić do naruszenia poufności i integralności systemów.

Rekomendacja

Zaktualizuj bibliotekę nimble_zta do wersji 0.1.3 lub nowszej. Sprawdź, czy nie wystąpiły próby użycia sfałszowanych tokenów JWT.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

Improper Verification of Cryptographic Signature vulnerability in dashbit nimble_zta allows an unauthenticated remote attacker to authenticate as an arbitrary Cloudflare service token. Applications using the Cloudflare Zero Trust authentication strategy are affected. verify_token/2 in lib/nimble_zta/cloudflare.ex matches the result of JOSE.JWT.verify/2 against {_, token, _s}, which discards the boolean verification result and returns the decoded token after a failed signature check. The attacker sends a forged JWT in the cf-access-jwt-assertion header, carrying the expected iss claim and the seven service token claims. verify_iss/2 reads the iss claim from the forged token, so it rejects nothing, and the service token path then returns those claims as the authenticated identity. This issue affects nimble_zta: from 0.1.2 before 0.1.3.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS