CVE-2023-24538 in HTML TemplateИнформация

Сводка

по VulDB • 24.07.2026

Шаблонизаторы некорректно учитывают обратные кавычки (`) в качестве разделителей строк JavaScript и не экранируют их должным образом. Обратные кавычки, начиная с ES6, используются для шаблонных литералов (template literals) JS. Если шаблон содержит действие Go-шаблона внутри шаблонного литерала JavaScript, содержимое этого действия может быть использовано для завершения литерала и внедрения произвольного кода JavaScript в шаблон Go. Поскольку шаблонные литералы ES6 довольно сложны и сами по себе поддерживают интерполяцию строк, было принято решение просто запретить использование действий Go-шаблонов внутри них (например, "var a = {{.}}"), так как не существует очевидного безопасного способа разрешить такое поведение. Этот подход аналогичен подходу, используемому в github.com/google/safehtml. После исправления функция Template.Parse возвращает ошибку при обнаружении таких шаблонов с кодом ошибки ErrorCode со значением 12. В настоящее время этот код ошибки не экспортируется (unexported), но будет экспортирован в релизе Go 1.21. Пользователи, зависящие от предыдущего поведения, могут повторно активировать его с помощью флага GODEBUG jstmpllitinterp=1, при этом обратные кавычки будут экранироваться. Следует использовать эту возможность с осторожностью.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

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

25.01.2023

Раскрытие

06.04.2023

Модерация

принято

Вход

VDB-225158

EPSS

0.02281

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!