Read the docs

SiYuan before v3.8.4 Cross-Site Scripting via Kramdown IAL

Priority MEDIUM 40CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Active
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

SiYuan v3.8.3 fails to HTML-escape the data-subtype attribute when generating gutter-button markup (app/src/protyle/gutter/button.ts, assigned via innerHTML in app/src/protyle/gutter/index.ts) from content pasted as plain-text Markdown containing a Kramdown inline attribute list (IAL). Because the shared Lute renderer parses Kramdown IAL from text/plain input, an attacker-supplied Markdown snippet using entity-encoded quotes in data-subtype breaks out of the attribute value when the gutter markup is re-parsed by the browser, injecting additional attributes such as autofocus and onfocus. If a victim pastes the crafted Markdown and the affected gutter control receives focus, the injected handler executes; in the Electron desktop application, where the main BrowserWindow enables Node integration and disables context isolation, this results in JavaScript execution with renderer Node.js privileges (remote code execution). Fixed in v3.8.4.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00472 41st percentileScored 2026-11-07
Fix Fixed siyuan (siyuan-note): 3.8.4

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
siyuan-notesiyuanbefore 3.8.43.8.4Patch availableCNA
  • siyuan Vendorsiyuan-note Affected before 3.8.4 Fixed in 3.8.4 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*——siyuan-note
  • cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* Versions — — ·siyuan-note

Remediation

  • Fix · CNA siyuan (siyuan-note) Fixed in 3.8.4

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    siyuan-note siyuan 3.8.4

    14 records Highest priority Priority HIGH 11 HIGH, 2 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-64804 SiYuan before v3.8.4 SQL Injection via dailyNoteSavePathPriority HIGH 77
    • TI-2026-64806 SiYuan before v3.8.4 Authentication Bypass via Missing Origin HeaderPriority HIGH 72
    • TI-2026-64805 SiYuan 3.7.0 before 3.8.4 Stored XSS via Gallery KanbanPriority HIGH 72

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-100639
  2. 2026-10-03 Alias added: GHSA-r9x8-34vf-7m8q

References

  • TI-2026-48492 SiYuan before v3.7.3 SQL Injection via searchDocs CVSS 4.0CRITICAL 9.9
  • TI-2026-48491 SiYuan before v3.7.3 SQL Injection via searchEmbedBlock CVSS 4.0CRITICAL 9.9
  • TI-2026-48490 SiYuan before v3.7.3 SQL Injection via fullTextSearchAssetContent CVSS 4.0CRITICAL 9.9
  • TI-2026-47010 SiYuan before v3.7.2 Unauthenticated Administrator Takeover via MCP CVSS 4.0CRITICAL 10.0
  • TI-2026-26050 SiYuan has directory traversal within its publishing service CVSS 3.1CRITICAL 9.8
  • TI-2026-25256 SiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API CVSS 3.1CRITICAL 9.8
See all 242 →

Sources