CVE-2026-75916: SiYuan XSS-to-RCE via unescaped block metadata in hint popup

Published Aug 19, 2026
·
Updated

SiYuan through 3.7.3 contains a cross-site scripting vulnerability in the '((' block-reference autocomplete hint popup. In genHintItemHTML() (app/src/protyle/hint/extend.ts), a candidate block's name, alias, and memo fields are concatenated into the popup's HTML without escaping. An attacker who can set these metadata fields on a block can inject a self-firing payload (e.g. <img src=x onerror=...>) that executes automatically when a victim types '((' followed by a search term that surfaces the crafted block. Because SiYuan's Electron windows run with nodeIntegration enabled, contextIsolation disabled, and no CSP, the injected script gains require('childprocess') access, allowing the XSS to escalate to arbitrary OS command execution.

Affected Software

1 affected component
SiYuan SiYuan<=3.7.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade SiYuan to a version that resolves this vulnerability.

    Fixed in 3.7.3Patch SiYuan through 3.7.3 contains a cross-site scripting vulnerability

Event History

Aug 19, 2026
CVE Published
via MITRE·02:01 PM
Data Sourced
via MITRE·02:01 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What must an attacker do to exploit this issue?

The attacker must be able to set the name, alias, or memo metadata of a block. They must place a payload in that metadata and cause or wait for a victim to type "((" plus a search term that makes the crafted block appear in the autocomplete popup.

2

Does exploitation require the victim to click the malicious autocomplete result?

No. A self-firing payload embedded in the affected metadata can execute automatically when the crafted block is displayed in the block-reference autocomplete hint popup.

3

What is the impact after the script executes?

The injected script can access require('child_process') because the Electron windows have nodeIntegration enabled and contextIsolation disabled. This allows escalation from XSS to arbitrary operating-system command execution.

4

Which versions are affected?

SiYuan through version 3.7.3 is affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203