CVE-2026-73041: SiYuan before v3.7.4 Remote Code Execution via PDF Annotations
SiYuan versions before v3.7.4 fail to validate or escape annotation fields written to disk by the setFileAnnotation endpoint. Attackers can inject malicious markup into annotation fields that execute as script in the PDF renderer with full Node.js access when a user opens an annotated PDF.
Security readout for executives and security teams
Plain-English summary
SiYuan versions before v3.7.4 can turn a malicious PDF annotation into code running with the application's full Node.js capabilities. Exploitation requires a low-privileged attacker to submit annotation data and a user to open the affected PDF, but successful exploitation could compromise data, application integrity, and the host system.
Executive priority
Treat this as an urgent remediation because successful exploitation can provide host-level capabilities through Node.js. Prioritize internet-accessible or shared SiYuan deployments and environments handling untrusted annotations. The user-interaction requirement reduces immediacy somewhat, but does not materially lower the potential business impact.
Technical view
The setFileAnnotation endpoint fails to validate or escape annotation fields before writing them to disk. Malicious markup can later execute as script inside the PDF renderer when the annotated PDF is opened. Because that renderer has full Node.js access, the cross-site scripting weakness, classified as CWE-79, becomes remote code execution.
Likely exposure
Exposure is limited to SiYuan installations earlier than v3.7.4. Risk is highest where low-privileged users can reach setFileAnnotation and other users open annotated PDFs. The supplied sources do not establish whether the endpoint is externally exposed by default or quantify affected deployments.
Exploitation context
The CVSS 4.0 score is 9.4. Exploitation is network-reachable and low complexity, but requires low privileges and user interaction. The supplied bundle says the CVE is not in KEV and provides no evidence of active exploitation, public weaponization, or observed attacks.
Researcher notes
The decisive security boundary failure occurs when untrusted annotation fields are persisted without validation or escaping, then interpreted by a privileged renderer. Assessment should examine endpoint authorization, stored annotation content, renderer isolation, and Node.js exposure. The supplied evidence does not describe indicators of compromise, exploit availability, or the exact fixing commit.
Mitigation direction
Upgrade all SiYuan installations to v3.7.4 or later.
Confirm the upgraded version is running on every deployed instance.
If upgrading is delayed, consult the vendor advisory for supported temporary controls.
Limit PDF-annotation workflows to trusted users until remediation is complete.
Validation and detection
Inventory all SiYuan installations and record their running versions.
Flag every installation earlier than v3.7.4 as vulnerable.
Verify low-privileged access to setFileAnnotation is restricted after remediation.
Review available access records for unexpected setFileAnnotation activity and affected PDFs.
Confirm users have not reopened suspicious annotated PDFs on vulnerable installations.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation
Improper Neutralization of Input During Web Page Generation represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.