SiYuan — это система управления персональными знаниями. До версии 3.6.4 SiYuan настраивает Mermaid.js с уровнем безопасности: «loose» и htmlLabels: true. В этом режиме теги <img> с атрибутами src выдерживают внутреннюю DOMPurify Mermaid и попадают в блоки SVG <foreignObject>.
SVG внедряется через внутренний HTML без вторичной очистки. Когда жертва открывает заметку, содержащую вредоносную диаграмму Mermaid, клиент Electron получает URL-адрес. В Windows URL-адрес, относящийся к протоколу (//attacker.com/image.png), разрешается как путь UNC (\\attacker.com\image.png).
Windows автоматически пытается выполнить аутентификацию SMB, отправляя злоумышленнику хэш NTLMv2 жертвы. Эта уязвимость исправлена в версии 3.6.4.
Показать оригинальное описание (EN)
SiYuan is a personal knowledge management system. Prior to 3.6.4, SiYuan configures Mermaid.js with securityLevel: "loose" and htmlLabels: true. In this mode, <img> tags with src attributes survive Mermaid's internal DOMPurify and land in SVG <foreignObject> blocks. The SVG is injected via innerHTML with no secondary sanitization. When a victim opens a note containing a malicious Mermaid diagram, the Electron client fetches the URL. On Windows, a protocol-relative URL (//attacker.com/image.png) resolves as a UNC path (\\attacker.com\image.png). Windows attempts SMB authentication automatically, sending the victim's NTLMv2 hash to the attacker. This vulnerability is fixed in 3.6.4.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
B3log Siyuan
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
|
— |
3.6.4
|