Unleash — это платформа управления функциями с открытым исходным кодом. До версии 8.0.3 FeatureEventFormatterMd.format в src/lib/addons/feature-event-formatter-md.ts присваивает Mustache.escape функции идентификации перед отрисовкой шаблонов действий и путей. Поскольку Mustache.escape распространяется на весь процесс, это назначение отключает экранирование для последующих вызовов Mustache.render в email-service.ts, webhook.ts, datadog.ts и new-relic.ts.
Пользователь уровня редактора может поместить синтаксис ссылок Slack или Microsoft Teams в неограниченное имя пользователя, инициировать событие функции и внедрить ссылку, помеченную злоумышленником, в доверенный канал исходящих уведомлений, в то время как другие приемники Mustache остаются неэкранированными до перезапуска. Эта проблема исправлена в версии 8.0.3.
Показать оригинальное описание (EN)
Unleash is an open-source feature management platform. Prior to 8.0.3, FeatureEventFormatterMd.format in src/lib/addons/feature-event-formatter-md.ts assigns Mustache.escape to an identity function before rendering action and path templates. Because Mustache.escape is process-wide, the assignment disables escaping for subsequent Mustache.render calls in email-service.ts, webhook.ts, datadog.ts, and new-relic.ts. An editor-level user can place Slack or Microsoft Teams link syntax in an unrestricted username, trigger a feature event, and inject an attacker-labeled link into a trusted outbound notification channel, while other Mustache sinks remain unescaped until restart. This issue is fixed in version 8.0.3.
Характеристики атаки
Последствия
Строка CVSS v3.1