Podatność w komponencie VarExporter biblioteki Symfony pozwala na wykonanie dowolnego kodu PHP poprzez niepoprawne escapowanie ciągów znaków. Ze względu na brak wymagań dotyczących uwierzytelnienia i sieciowy wektor ataku, zagrożenie jest krytyczne.
▸ Pokaż oryginał (EN)
An issue was discovered in Symfony before 4.2.12 and 4.3.x before 4.3.8. The VarExport component incorrectly escapes strings, allowing some specially crafted ones to escalate to execution of arbitrary PHP code. This is related to symfony/var-exporter.
Komponent VarExporter (symfony/var-exporter) niepoprawnie escapuje pewne specjalnie spreparowane ciągi znaków podczas ich eksportowania. Atakujący może dostarczyć odpowiednio skonstruowany ciąg znaków, który po przetworzeniu przez komponent zostaje zinterpretowany jako kod PHP i wykonany przez interpreter. Błąd sklasyfikowany jest jako CWE-116 (Improper Encoding or Escaping of Output), co oznacza, że dane wyjściowe nie są odpowiednio neutralizowane przed dalszym przetwarzaniem.
Atakujący może doprowadzić do wykonania dowolnego kodu PHP na serwerze (RCE), co w praktyce oznacza pełne przejęcie kontroli nad aplikacją, a potencjalnie również nad systemem operacyjnym hosta.
Należy zaktualizować Symfony do wersji 4.2.12 lub nowszej (dla gałęzi 4.2) albo do wersji 4.3.8 lub nowszej (dla gałęzi 4.3). Patche dostępne są w repozytorium producenta pod adresem https://github.com/symfony/symfony/releases/tag/v4.3.8.
Sensiolabs Symfony w wersjach przed 4.2.12 oraz w wersjach 4.3.x przed 4.3.8; komponent symfony/var-exporter.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HSensiolabs Symfony
APPSensiolabs4.2.0 – 4.2.12 (bez)4.3.0 – 4.3.8 (bez)
Powiązane podatności
Symfony X509Authenticator — obejście uwierzytelniania przez błędny regex DN
Symfony: zdalne wykonanie kodu przez serializację adaptera cache
Nieprawidłowa kontrola dostępu w komponencie Password validator — Symfony
SQL Injection i RCE w Symfony przez niezwalidowane identyfikatory serwisów
Symfony: SQL injection i XSS przez niezwalidowane metody HTTP