Twig: wstrzykiwanie kodu PHP przez nazwę szablonu w {% use %} (CVE-2026-46633)
Opublikowano podatność CVE-2026-46633 (CVSS 8.7) w Twig, silniku szablonów dla PHP. Compiler::string() nie escapuje apostrofów, gdy nazwa szablonu z tagu {% use %} trafia do literału tekstowego PHP w apostrofach. Spreparowana nazwa może wyjść poza ciąg znaków i wstrzyknąć wyrażenia PHP do skompilowanego pliku cache.
Sprawdzane w Shield: nie
Kogo dotyczy
Twig od wersji 1.15.1 do 3.26.0 (bez 3.26.0). Ryzyko dotyczy sytuacji, gdy nazwę szablonu w {% use %} może spreparować atakujący.
Jak sprawdzić u siebie
Uruchom `composer show twig/twig` lub wyszukaj twig w composer.lock. Upewnij się też, że nazwy szablonów w {% use %} nie powstają z danych wprowadzanych przez użytkownika.
Jak naprawić
Poprawka jest dostępna: zaktualizuj Twig do wersji 3.26.0 lub nowszej.
Co sprawdza Shield nie jest sprawdzane
Sprawdzane w Shield: nie. Z zewnątrz zwykle tego nie widać albo kontroli jeszcze nie dodano; zbieramy takie przypadki i dodajemy kontrole partiami.
Warto wiedzieć
Informacje o wykorzystaniu podatności w atakach nie zostały jeszcze ujawnione. Źródło: NVD (CVE-2026-46633).