Уязвимость в Twig (CVE-2026-46633)
Введение
В шаблонизаторе Twig обнаружена критическая уязвимость CVE-2026-46633, позволяющая обойти механизм песочницы и внедрить произвольный PHP-код во время компиляции шаблонов.
Проблема затрагивает приложения, позволяющие пользователям или администраторам редактировать Twig-шаблоны через веб-интерфейс. Под угрозой находятся CMS, платформы визуальной разработки, системы управления email-рассылками и SaaS-приложения на базе Symfony/Twig.
Что произошло
Уязвимость связана с обработкой:
{% use %}
и dynamic macro references внутри Twig compiler.
Во время компиляции Twig некорректно валидировал имена macro и позволял использовать attacker-controlled значения внутри generated PHP code.
Пример опасной конструкции:
{{ _self.('payload') }}
В определённых сценариях пользовательская строка могла попасть напрямую в сгенерированный PHP-код без безопасной фильтрации.
Это позволяло:
- обходить SandboxExtension;
- внедрять PHP-код;
- выполнять команды на сервере;
- получать RCE в контексте веб-приложения.
Особенности эксплуатации
Особенно опасна уязвимость для систем, где пользователи могут:
- создавать Twig templates;
- редактировать email-шаблоны;
- управлять CMS themes;
- использовать visual builders;
- настраивать notification templates;
- изменять widget/view templates.
Под угрозой могут находиться:
- Symfony-приложения;
- Drupal;
- Bolt CMS;
- системы интернет-магазинов Shopware;
- внутренние административные панели;
- корпоративные веб-интерфейсы;
- внутренние панели управления сервисами;
- кастомные SaaS-платформы.
Исследователи отдельно отмечают, что эксплуатация возможна даже при включённом sandbox режиме, который должен ограничивать выполнение опасных операций.
Потенциальные последствия
Успешная эксплуатация CVE-2026-46633 может привести к:
- выполнению произвольного PHP-кода;
- компрометации веб-приложения;
- получению доступа к базе данных;
- утечке секретов и токенов;
- удалённому выполнению команд;
- полному захвату сервера.
При использовании Twig во внутренних административных панелях последствия эксплуатации уязвимости могут быть критическими.
Уязвимость исправлена в версии Twig 3.26.0.
Рекомендуемые действия:
- немедленно обновить Twig до версии 3.26.0;
- ограничить возможность редактирования Twig templates;
- проверить использование SandboxExtension;
- провести аудит custom Twig extensions;
- проверить логи на подозрительные template payload;
- ограничить доступ к template builder интерфейсам.
Дополнительно
Разработчики Symfony называют Twig 3.26.0 одним из крупнейших обновлений безопасности за последнее время. Помимо CVE-2026-46633 обновление исправляет несколько уязвимостей обхода песочницы и проблем компилятора шаблонов.
В сообществах Symfony и Drupal уже появились обсуждения возможного влияния проблемы на рабочие CMS и SaaS-системы, где пользователи могут редактировать шаблоны через веб-интерфейс.
