CVE-2026-31809: SiYuan has a SVG Sanitizer Bypass via Whitespace in `javascript:` URI — Unauthenticated XSS
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 25/100)
- Опубликован готовый модуль атаки (Nuclei); для эксплуатации не нужна особая квалификация.
- Есть публичный код proof-of-concept (Exploit-DB / GitHub); записей об эксплуатации в реальных атаках нет.
- Вероятность эксплуатации в ближайшие 30 дней: 0,51% (FIRST EPSS).
- Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: siyuan-note siyuan 3.5.10.
Пока низкий приоритет. Обновитесь до siyuan-note siyuan 3.5.10 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
SiYuan is a personal knowledge management system. Prior to 3.5.10, SiYuan's SVG sanitizer (SanitizeSVG) checks href attributes for the javascript: prefix using strings.HasPrefix(). However, inserting ASCII tab (	), newline ( ), or carriage return ( ) characters inside the javascript: string bypasses this prefix check. Browsers strip these characters per the WHATWG URL specification before parsing the URL scheme, so the JavaScript still executes. This allows an attacker to inject executable JavaScript into the unauthenticated /api/icon/getDynamicIcon endpoint, creating a reflected XSS. This is a second bypass of the fix for CVE-2026-29183 (fixed in v3.5.9). This vulnerability is fixed in 3.5.10.
- Опубликовано
- 10 мар. 2026 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,5 % · 44-й процентиль
- CWE
- CWE-79
Инструменты для отчёта
Оценка срочности
25
Наблюдать
Пока низкий приоритет.
- CVSS
- 25 / 40 · 6.4 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,5 %
Решение CISA SSVC
- Эксплуатация
- proof of concept
- Автоматизируемо
- нет
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · GitHub_M
- 6,4
- NVD ещё не выставил свою оценку; показана оценка CNA.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| b3log | siyuan | cpe:2.3:a:b3log:siyuan |
Ограничьте последствия XSS
Это уязвимость межсайтового скриптинга (XSS). Хорошо настроенная Content-Security-Policy её не устраняет, но сильно снижает последствия. Бесплатно проверьте CSP и другие заголовки безопасности сайта.
Проверить заголовкиЗатронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- b3log siyuanдо 3.5.10
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
siyuan-note siyuan
- < 3.5.10затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Go | github.com/siyuan-note/siyuan/kernel | до 0.0.0-20260310025236-297bd526708f | 0.0.0-20260310025236-297bd526708f |
Тот же продукт
b3log: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-32767SiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API39Наблюдать
- CVE-2026-30869SiYuan has a Path Traversal in /export Endpoint Allows Arbitrary File Read and Secret Leakage39Наблюдать
- CVE-2024-53507A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems.39Наблюдать
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2026-3092610 мар. 2026 г. · SiYuan Note publish service authorization bypass allows low-privilege users to modify notebook content28Наблюдать
- ← РаньшеCVE-2026-3180710 мар. 2026 г. · SiYuan has a SVG Sanitizer Bypass via `<animate>` Element — Unauthenticated XSS25Наблюдать
- Позже →CVE-2026-3211011 мар. 2026 г. · SiYuan has a Full-Read SSRF via /api/network/forwardProxy33Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| siyuan-note siyuan | 3.5.10 · description | Вендор (CNA) |
| Go:github.com/siyuan-note/siyuan/kernel | 0.0.0-20260310025236-297bd526708f | Реестр пакетов (OSV) |
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Шаблон обнаружения Nuclei ×1
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Шаблон обнаружения Nuclei | Шаблон Nuclei CVE-2026-31809 | — |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Истории пока нет (накапливается ежедневным заданием EPSS).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2026-34448с разницей 21 дн.SiYuan: Stored XSS in Attribute View gallery/kanban cover rendering allows arbitrary command execution in the desktop client36Наблюдать
- CVE-2026-39846с разницей 28 дн.SiYuan affected by Remote Code Execution in the Electron desktop client via stored XSS in synced table captions36Наблюдать
- CVE-2026-40322с разницей 37 дн.SiYuan: Mermaid `javascript:` Link Injection Leads to Stored XSS and Electron RCE36Наблюдать
- CVE-2026-34605с разницей 21 дн.SiYuan: Reflected XSS via SVG namespace prefix bypass in SanitizeSVG ( getDynamicIcon, unauthenticated )34Наблюдать
- CVE-2026-34585с разницей 21 дн.SiYuan: Stored XSS in imported .sy.zip content leads to arbitrary command execution32Наблюдать
- CVE-2026-31807с разницей 0 дн.SiYuan has a SVG Sanitizer Bypass via `<animate>` Element — Unauthenticated XSS25Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- Целостность
- Доступность
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- P
- Область действия
- X
Класс уязвимости (CWE)
CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')Вектор CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Первопричина
Пользовательский контент вставляется в страницу как HTML. Браузер интерпретирует его как код, а не как данные.
Ошибка в коде
Весь класс CWE-79Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
commentEl.innerHTML = comment.body;Исправленный код
commentEl.textContent = comment.body;Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- XSS Using MIME Type MismatchCAPEC-209Medium
- DOM-Based XSSCAPEC-588вероятность: High · Very High
- Reflected XSSCAPEC-591вероятность: High · Very High
- Stored XSSCAPEC-592вероятность: High · Very High
- Cross-Site Scripting (XSS)CAPEC-63вероятность: High · Very High
- AJAX FootprintingCAPEC-85вероятность: High · Low
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →