HIGH🇬🇧 English

CVE-2026-45069

Symfony: pominięcie obowiązkowych claims w weryfikacji tokenów JWT (OIDC)

CVSS 8.8v4.0pub. 2026-07-14upd. 2026-07-15

W frameworku Symfony wykryto podatność polegającą na nieprawidłowej weryfikacji tokenów JWT w komponencie OidcTokenHandler. Atakujący może dostarczyć poprawnie podpisany token JWT, który pomija kluczowe claims (audience, issuer, expiry), a mimo to przejdzie weryfikację.

Pokaż oryginał (EN)

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 6.4.40, 7.4.12, and 8.0.12, OidcTokenHandler::verifyClaims() registered audience (aud), issuer (iss), and expiry (exp) checkers but did not pass the mandatory claims list to ClaimCheckerManager::check(), so a validly signed JWT that omitted those claims could pass verification. This issue is fixed in versions 6.4.40, 7.4.12, and 8.0.12.

🤖 Analiza AI
Jak działa

Metoda OidcTokenHandler::verifyClaims() rejestruje sprawdzanie claims: audience (aud), issuer (iss) oraz expiry (exp), jednak nie przekazuje listy obowiązkowych claims jako parametru do ClaimCheckerManager::check(). W rezultacie token JWT, który jest poprawnie podpisany kryptograficznie, ale nie zawiera wymaganych claims, jest traktowany jako prawidłowy. Odpowiada to błędom CWE-345 (niewystarczająca weryfikacja autentyczności danych) oraz CWE-1287 (nieprawidłowa walidacja wartości wejściowych).

Skutki

Atakujący może ominąć kontrole autoryzacji oparte na mechanizmie OIDC, dostarczając spreparowany token JWT pozbawiony wymaganych claims (np. bez pola exp, co eliminuje weryfikację wygaśnięcia tokenu). Może to prowadzić do nieautoryzowanego dostępu do zasobów aplikacji.

Mitygacja

Należy zaktualizować Symfony do wersji 6.4.40, 7.4.12 lub 8.0.12, w których problem został naprawiony poprzez prawidłowe przekazanie listy obowiązkowych claims do ClaimCheckerManager::check().

Kogo dotyczy

Symfony w wersjach wcześniejszych niż 6.4.40, 7.4.12 oraz 8.0.12 — dotyczy aplikacji korzystających z komponentu OidcTokenHandler do weryfikacji tokenów JWT.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
  • Sensiolabs Symfony

    APP
    Sensiolabs
    6.3.0 – 6.4.40 (bez)7.4.0 – 7.4.12 (bez)8.0.0 – 8.0.12 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-45063CRITICAL9.1PL ✓ten sam produkt

Symfony X509Authenticator — obejście uwierzytelniania przez błędny regex DN

CVE-2019-11325CRITICAL9.8PL ✓ten sam produkt

Symfony VarExporter — nieprawidłowe escapowanie umożliwia RCE

CVE-2019-18889CRITICAL9.8PL ✓ten sam produkt

Symfony: zdalne wykonanie kodu przez serializację adaptera cache

CVE-2017-11365CRITICAL9.8PL ✓ten sam produkt

Nieprawidłowa kontrola dostępu w komponencie Password validator — Symfony

CVE-2019-10910CRITICAL9.8PL ✓ten sam produkt

SQL Injection i RCE w Symfony przez niezwalidowane identyfikatory serwisów