Mermaid — это инструмент JavaScript, который использует текст в стиле Markdown для создания и изменения диаграмм и диаграмм. Версии 10.9.5 и более ранние, а также версии с 11.0.0-alpha.1 по 11.14.0 уязвимы для внедрения HTML в конфигурации по умолчанию. В частности, директива classDef в диаграммах состояний Mermaid разрешает внедрение DOM, выходящее за пределы контекста SVG.
Однако теги <script> удаляются, что предотвращает межсайтовый скриптинг (XSS). Эта проблема исправлена в версиях 10.9.6 и 11.15.0. Если разработчики не могут немедленно выполнить обновление, они могут обойти эту проблему, установив «securityLevel»: «песочница», что предотвращает проблему, отображая диаграмму русалки в изолированном <iframe>.
Показать оригинальное описание (EN)
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Versions 10.9.5 and earlier, as well as 11.0.0-alpha.1 through 11.14.0, are vulnerable to HTML injection under the default configuration. Specifically, the classDef directive in Mermaid state diagrams permits DOM injection that escapes the SVG context. However, <script> tags are stripped, which prevents cross-site scripting (XSS). This issue has been fixed in versions 10.9.6 and 11.15.0. If developers are unable to immediately upgrade, they can work around this issue by setting "securityLevel": "sandbox", which prevents the issue by rendering the mermaid diagram in a sandboxed <iframe>.
Характеристики атаки
Последствия
Строка CVSS v4.0