CRITICAL🇬🇧 English

CVE-2026-45063

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

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

Podatność w komponencie X509Authenticator frameworka Symfony pozwala atakującemu posiadającemu zaufany certyfikat X.509 na uwierzytelnienie się jako inny użytkownik (ofiara). Błąd wynika z użycia niekotwiczonego wyrażenia regularnego podczas parsowania pola Distinguished Name certyfikatu, co klasyfikuje go jako CWE-290 (Authentication Bypass by Spoofing).

Pokaż oryginał (EN)

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Prior to 5.4.52, 6.4.40, 7.4.12, and 8.0.12, X509Authenticator extracts the user identifier from $_SERVER['SSL_CLIENT_S_DN'] with an unanchored regex that matches emailAddress= anywhere in the distinguished name, allowing an attacker with a trusted certificate containing emailAddress=victim inside another RDN value such as CN to authenticate as the victim. This issue is fixed in versions 5.4.52, 6.4.40, 7.4.12, and 8.0.12.

🤖 Analiza AI
Jak działa

Komponent X509Authenticator pobiera identyfikator użytkownika ze zmiennej środowiskowej $_SERVER['SSL_CLIENT_S_DN'], stosując wyrażenie regularne wyszukujące wartość emailAddress= w dowolnym miejscu ciągu Distinguished Name (DN). Ponieważ regex nie jest zakotwiczony, atakujący może uzyskać zaufany certyfikat, w którym wartość emailAddress=ofiara@domena.pl jest osadzona wewnątrz innego atrybutu RDN — np. w polu CN (Common Name). Mechanizm uwierzytelniania błędnie odczyta tę wartość jako adres e-mail właściciela certyfikatu i zaloguje atakującego na konto ofiary.

Skutki

Atakujący z dostępem do zaufanego certyfikatu X.509 (wystawionego przez zaufane CA) może podszyć się pod dowolnego użytkownika aplikacji i uzyskać nieautoryzowany dostęp do jego konta oraz zasobów, do których ma on uprawnienia.

Mitygacja

Należy zaktualizować Symfony do wersji 5.4.52, 6.4.40, 7.4.12 lub 8.0.12 (zgodnie z używaną gałęzią). Patche dostępne są w oficjalnych repozytoriach projektu na GitHub.

Kogo dotyczy

Sensiolabs Symfony w wersjach przed 5.4.52, 6.4.40, 7.4.12 oraz 8.0.12 — dotyczy aplikacji korzystających z komponentu X509Authenticator.

Uwagi

Podatność wymaga, aby atakujący posiadał certyfikat wystawiony przez CA zaufane przez serwer (warunek AT:P w wektorze CVSS). Podatność nie dotyczy aplikacji nieużywających uwierzytelniania opartego na certyfikatach X.509 (X509Authenticator).

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/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
    < 5.4.526.0.0 – 6.4.40 (bez)7.0.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-2019-18889CRITICAL9.8PL ✓ten sam produkt

Symfony: zdalne wykonanie kodu przez serializację adaptera cache

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

Symfony VarExporter — nieprawidłowe escapowanie umożliwia RCE

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

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

Symfony: SQL injection i XSS przez niezwalidowane metody HTTP