CVE-2026-32940

CRITICAL CVSS 3.1: 6,1 EPSS 0.06%
Обновлено 23 марта 2026
Siyuan
Параметр Значение
CVSS 6,1 (CRITICAL)
Уязвимые версии до 3.6.1
Устранено в версии 3.6.1
Тип уязвимости CWE-79 (Межсайтовый скриптинг (XSS)), CWE-184
Поставщик Siyuan
Публичный эксплойт Нет

SiYuan — это система управления персональными знаниями. В версиях 3.6.0 и ниже SanitizeSVG имеет неполный черный список — он блокирует data:text/html и data:image/svg+xml в атрибутах href, но пропускает data:text/xml и data:application/xml, оба из которых могут отображать SVG с помощью JavaScript. Неаутентифицированная конечная точка /api/icon/getDynamicIcon предоставляет управляемый пользователем ввод (через параметр содержимого) непосредственно в разметку SVG с использованием fmt.Sprintf без экранирования, обслуживаемого как Content-Type: image/svg+xml.

Это создает XSS с переходом по клику: жертва переходит к созданному URL-адресу, видит SVG с внедренной ссылкой и при нажатии на него запускает JavaScript через обходные типы MIME. Атака требует прямого перехода к конечной точке или внедрения <object>/<embed>, поскольку рендеринг тега <img> во внешнем интерфейсе не допускает интерактивных ссылок. Эта проблема исправлена ​​в версии 3.6.1.

Показать оригинальное описание (EN)

SiYuan is a personal knowledge management system. In versions 3.6.0 and below, SanitizeSVG has an incomplete blocklist — it blocks data:text/html and data:image/svg+xml in href attributes but misses data:text/xml and data:application/xml, both of which can render SVG with JavaScript execution. The unauthenticated /api/icon/getDynamicIcon endpoint serves user-controlled input (via the content parameter) directly into SVG markup using fmt.Sprintf with no escaping, served as Content-Type: image/svg+xml. This creates a click-through XSS: a victim navigates to a crafted URL, sees an SVG with an injected link, and clicking it triggers JavaScript via the bypassed MIME types. The attack requires direct navigation to the endpoint or <object>/<embed> embedding, since <img> tag rendering in the frontend doesn't allow interactive links. This issue has been fixed in version 3.6.1.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Требуется
Нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Низкое
Частичная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
B3log Siyuan
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
3.6.1