CVE-2026-45071
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
Podatność w Symfony pozwala na wstrzykiwanie zewnętrznych encji XML (XXE) podczas przetwarzania XML przez metodę Crawler::addXmlContent(). Ustawienie DOMDocument::$validateOnParse = true przed loadXML() ponownie włącza rozwiązywanie zewnętrznych encji, co umożliwia atakującemu odczyt lokalnych plików poprzez encje file://.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do odczytu wrażliwych plików na serwerze, takich jak konfiguracje, hasła czy dane użytkowników, co prowadzi do naruszenia poufności danych.
Rekomendacja
Należy natychmiast zaktualizować Symfony do wersji 5.4.52, 6.4.40, 7.4.12 lub 8.0.12 w zależności od używanej gałęzi. Jeśli aktualizacja nie jest możliwa, należy unikać używania metody Crawler::addXmlContent() z niezaufanym XML.
Inne podatności w Symfony
Zobacz wszystkie- CVE-2016-4423Wysokie
Funkcja attemptAuthentication w Symfony przed wersją 2.3.41, 2.7.13, 2.8.6 oraz 3.0.6 nie ogranicza długości nazwy użytkownika przechowywanej w sesji. To umożliwia zdalnym atakującym wywołanie odmowy usługi poprzez serię prób uwierzytelnienia z długimi, nieistniejącymi nazwami użytkownika.
- CVE-2016-1902Wysokie
Funkcja nextBytes w klasie SecureRandom w Symfony przed wersją 2.3.37, 2.6.x przed 2.6.13 oraz 2.7.x przed 2.7.9 nie generuje poprawnie liczb losowych, gdy jest używana z PHP 5.x bez biblioteki paragonie/random_compat, a funkcja openssl_random_pseudo_bytes zawodzi.
- CVE-2013-1397Wysokie
Symfony w wersjach 2.0.x przed 2.0.22, 2.1.x przed 2.1.7 oraz 2.2.x jest podatny na zdalne ataki, które umożliwiają wykonanie dowolnego kodu PHP poprzez zserializowany obiekt PHP w funkcjach Yaml::parse lub Yaml\Parser::parse.
- CVE-2013-1348Wysokie
Funkcja Yaml::parse w Symfony 2.0.x przed wersją 2.0.22 pozwala zdalnym atakującym na wykonanie dowolnego kodu PHP poprzez plik PHP, co stanowi inną podatność niż CVE-2013-1397.
- CVE-2026-47767Krytyczne
Podatność w Symfony umożliwia atakującemu manipulację zmiennymi środowiskowymi APP_ENV i APP_DEBUG poprzez spreparowany ciąg zapytania, który omija mechanizm ochrony wprowadzony w CVE-2024-50340. Problem wynika z rozbieżności między funkcją parse_str() a web SAPI, co pozwala na przekazanie kontrolowanych flag --env lub --no-debug do skryptu.
- CVE-2026-45069Krytyczne
W Symfony do wersji 6.4.40, 7.4.12 i 8.0.12, w komponencie OidcTokenHandler, metoda verifyClaims() rejestrowała sprawdzanie aud, iss i exp, ale nie przekazywała obowiązkowej listy roszczeń do ClaimCheckerManager::check(). Umożliwiało to pominięcie weryfikacji tych kluczowych roszczeń w poprawnie podpisanym JWT.
- CVE-2026-45063Krytyczne
Podatność w Symfony X509Authenticator pozwala atakującemu z zaufanym certyfikatem na podszycie się pod ofiarę poprzez umieszczenie emailAddress= w innej wartości RDN, np. CN, z powodu niezabezpieczonego wyrażenia regularnego.
- CVE-2016-2403Krytyczne
Symfony w wersjach przed 2.8.6 oraz 3.x przed 3.0.6 umożliwia zdalnym atakującym ominięcie uwierzytelnienia poprzez logowanie się z pustym hasłem i poprawną nazwą użytkownika, co prowadzi do nieautoryzowanego połączenia.
- CVE-2026-48784Średnie
Podatność w Symfony pozwala atakującemu na manipulację ścieżkami URL poprzez kontrolowane parametry trasy. Funkcja UrlGenerator::doGenerate() używa kodowania segmentów kropkowych strtr(), które pomija co drugi segment ../ lub ./ w łańcuchu, co umożliwia generowanie adresów URL, które po normalizacji RFC 3986 wskazują na inną ścieżkę.
- CVE-2026-48761Średnie
W Symfony, frameworku PHP, od wersji 6.1.0 do 6.4.41, 7.4.13 i 8.0.13, funkcja UrlAttributeSanitizer::getSupportedAttributes() nie uwzględniała atrybutów URL w elementach <object>, <applet>, <iframe> i <img>, a adresy URL w <meta http-equiv="refresh"> omijały sanityzację. Umożliwia to wstrzyknięcie javascript: i podobnych ładunków do oczyszczonego wyjścia. Problem naprawiono w wersjach 6.4.41, 7.4.13 i 8.0.13.
Oryginalny opis (angielski, źródło NVD)
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, Crawler::addXmlContent() set DOMDocument::$validateOnParse = true before loadXML(), re-enabling external entity resolution and allowing attacker-supplied XML to expand file:// entities such as local files. This issue is fixed in versions 5.4.52, 6.4.40, 7.4.12, and 8.0.12.

