W wersjach Symfony 3.4.0–3.4.34, 4.2.0–4.2.11 oraz 4.3.0–4.3.7 serializacja określonych interfejsów adaptera cache może prowadzić do zdalnego wykonania kodu. Podatność posiada ocenę CVSS 9.8 i jest krytyczna dla każdej aplikacji opartej na Symfony korzystającej z komponentu cache.
▸ Pokaż oryginał (EN)
An issue was discovered in Symfony 3.4.0 through 3.4.34, 4.2.0 through 4.2.11, and 4.3.0 through 4.3.7. Serializing certain cache adapter interfaces could result in remote code injection. This is related to symfony/cache.
Błąd (CWE-94) tkwi w komponencie symfony/cache — konkretnie w klasach AbstractAdapter oraz TagAwareAdapter, które nie były zabezpieczone przed serializacją. Atakujący może dostarczyć spreparowany, zserializowany obiekt implementujący podatny interfejs adaptera cache, który po deserializacji po stronie serwera wykonuje arbitralny kod. Luka jest dostępna zdalnie, bez uwierzytelnienia i bez interakcji użytkownika.
Atakujący może uzyskać pełną kontrolę nad serwerem — wykonać dowolny kod (RCE), odczytać lub zmodyfikować dane aplikacji, a także doprowadzić do jej całkowitej niedostępności.
Należy zaktualizować Symfony do wersji 3.4.35, 4.2.12 lub 4.3.8 (i nowszych), w których serializacja klas AbstractAdapter i TagAwareAdapter została jawnie zabroniona. Szczegóły dostępne w oficjalnym komunikacie producenta: https://symfony.com/blog/cve-2019-18889-forbid-serializing-abstractadapter-and-tagawareadapter-instances
Symfony 3.4.0 – 3.4.34, Symfony 4.2.0 – 4.2.11, Symfony 4.3.0 – 4.3.7 (komponent symfony/cache); dotyczy również dystrybucji Fedora zawierających te wersje pakietu.
Producent (Sensiolabs) opublikował dedykowany wpis na blogu bezpieczeństwa opisujący tę podatność oraz wydał wersję Symfony 4.3.8 jako patch. Podatność nie figuruje w katalogu CISA KEV.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFedora Project Fedora
OSFedoraproject31Sensiolabs Symfony
APPSensiolabs3.4.0 – 3.4.344.2.0 – 4.2.114.3.0 – 4.3.7
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML
Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)
Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox
Integer overflow w Skia w Google Chrome — sandbox escape