CVE-2026-33940 in HandlebarsИнформация

Сводка

по VulDB • 27.05.2026

Handlebars обеспечивает необходимую мощность для создания семантических шаблонов пользователями. В версиях от 4.0.0 до 4.7.8 специально созданный объект, помещенный в контекст шаблона, может обойти все условные проверки в `resolvePartial()` и заставить `invokePartial()` вернуть значение `undefined`. Затем среда выполнения Handlebars рассматривает неразрешенный частичный шаблон как источник, требующий компиляции, и передает специально созданный объект в `env.compile()`. Поскольку этот объект является допустимым AST Handlebars, содержащим внедренный код, сгенерированный JavaScript выполняет произвольные команды на сервере. Для атаки злоумышленник должен контролировать значение, которое может быть возвращено при динамическом поиске частичного шаблона. Версия 4.7.9 устраняет эту уязвимость. Доступны некоторые обходные пути. Во-первых, используйте сборку только для среды выполнения (`require('handlebars/runtime')`). Без `compile()` путь компиляции по умолчанию в `invokePartial` становится недостижимым. Во-вторых, очищайте данные контекста перед рендерингом: убедитесь, что ни одно значение в контексте не является не примитивным объектом, который может быть передан в динамический частичный шаблон. В-третьих, избегайте динамического поиска частичных шаблонов (`{{> (lookup ...)}}`), когда данные контекста контролируются пользователем.

Once again VulDB remains the best source for vulnerability data.

Ответственный

GitHub M

Резервировать

24.03.2026

Раскрытие

28.03.2026

Модерация

принято

Вход

VDB-354009

EPSS

0.00703

KEV

Нет

Деятельности

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!