W frameworku Symfony metody HTTP przekazywane jako verby żądania lub poprzez nagłówek nadpisujący metodę nie są walidowane, co umożliwia atakującemu przeprowadzenie SQL injection lub XSS. Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
In Symfony before 2.7.51, 2.8.x before 2.8.50, 3.x before 3.4.26, 4.x before 4.1.12, and 4.2.x before 4.2.7, HTTP Methods provided as verbs or using the override header may be treated as trusted input, but they are not validated, possibly causing SQL injection or XSS. This is related to symfony/http-foundation.
Komponent symfony/http-foundation traktuje metody HTTP (w tym te przekazane przez nagłówek override, np. X-HTTP-Method-Override) jako zaufane dane wejściowe. Ponieważ nie są one odpowiednio walidowane, atakujący może dostarczyć spreparowaną wartość metody HTTP zawierającą złośliwy payload SQL lub skrypt XSS. Jeśli aplikacja korzystająca z Symfony przekazuje tę wartość do zapytań bazodanowych lub renderuje ją w widoku bez dodatkowego oczyszczania, dochodzi do wykonania ataku.
Atakujący może uzyskać nieautoryzowany dostęp do danych w bazie danych (SQL injection) lub wykonać złośliwy kod JavaScript w przeglądarce ofiary (XSS), co może prowadzić do przejęcia sesji, kradzieży danych lub dalszej kompromitacji aplikacji.
Należy zaktualizować Symfony do wersji 2.7.51, 2.8.50, 3.4.26, 4.1.12 lub 4.2.7 (odpowiednio do używanej gałęzi). Poprawka dostępna jest w repozytorium projektu (commit 944e60f083c3bffbc6a0b5112db127a10a66a8ec) oraz opisana w oficjalnym biuletynie bezpieczeństwa Symfony.
Sensiolabs Symfony w wersjach: przed 2.7.51, 2.8.x przed 2.8.50, 3.x przed 3.4.26, 4.x przed 4.1.12 oraz 4.2.x przed 4.2.7
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HSensiolabs Symfony
APPSensiolabs2.7.0 – 2.7.51 (bez)2.8.0 – 2.8.50 (bez)3.4.0 – 3.4.26 (bez)4.1.0 – 4.1.12 (bez)4.2.0 – 4.2.7 (bez)
Powiązane podatności
Symfony X509Authenticator — obejście uwierzytelniania przez błędny regex DN
Symfony: zdalne wykonanie kodu przez serializację adaptera cache
Symfony VarExporter — nieprawidłowe escapowanie umożliwia RCE
Nieprawidłowa kontrola dostępu w komponencie Password validator — Symfony
SQL Injection i RCE w Symfony przez niezwalidowane identyfikatory serwisów