Home

Description

SiYuan is an open-source personal knowledge management system. Prior to 3.6.5, SiYuan desktop renders notification messages as raw HTML inside an Electron renderer. The notification route POST /api/notification/pushMsg accepts a user-controlled msg value, forwards it through the backend broadcast layer, and the frontend inserts it into the DOM with insertAdjacentHTML(...) at message.ts. On desktop builds, this is not limited to ordinary XSS. Electron windows are created with nodeIntegration: true, contextIsolation: false, and webSecurity: false at main.js. As a result, JavaScript executed from the notification sink can directly access Node APIs and escalate to desktop code execution. This vulnerability is fixed in 3.6.5.

PUBLISHED Reserved 2026-04-20 | Published 2026-04-24 | Updated 2026-04-25 | Assigner GitHub_M




HIGH: 8.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Problem types

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Product status

< 3.6.5
affected

References

github.com/...siyuan/security/advisories/GHSA-grjj-6f6g-cq8q exploit

github.com/...siyuan/security/advisories/GHSA-grjj-6f6g-cq8q

cve.org (CVE-2026-41421)

nvd.nist.gov (CVE-2026-41421)

Download JSON