Vulnerabilities in pkg:golang/github.com/siyuan-note/siyuan/kernel
PACKAGEGHSA-4wwp-f6gw-6qm5 is a MODERATE tls private keys readable vulnerability (CWE-552: Files or Directories Accessible to External Parties) affecting SiYuan libraries in the Go ecosystem. The issue involves tls private keys readable via getfile (incomplete blocklist). Remediation is available by upgrading affected packages to version 0.0.0-20260819144130-256d73aa7f94.
pkg:golang/github.com/siyuan-note/siyuan/kernel
Vulnerability advisories affecting package pkg:golang/github.com/siyuan-note/siyuan/kernel. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-4wwp-f6gw-6qm5 | - | MODERATE | SiYuan: TLS Private Keys Readable via getFile (Incomplete Blocklist) |
| GHSA-3cm4-ccvw-6xr6 | - | MODERATE | SiYuan: /history/*path and /repo/diff/*path potentially exposing historical snapshots of data/.siyuan/publishAccess.json and data/templates/* |
| GHSA-x8gv-g2g3-65fj | - | HIGH | SiYuan Agent Tools SSRF via DNS-Rebinding TOCTOU (Bypass of CheckHostSSRF) |
| GHSA-p23f-cm6q-2qp8 | - | MODERATE | SiYuan MCP asset.upload Reads Arbitrary Absolute File Paths (Workspace Boundary Bypass) |
| GHSA-4vpg-gwqq-w44c | CVE-2026-74904 | HIGH | SiYuan: 17 block metadata/content endpoints in kernel/api/block.go have zero publish-access filtering, reachable by anonymous publish-mode readers |
| GHSA-69jp-f2p8-9vrg | - | HIGH | Duplicate Advisory: 17 block metadata/content endpoints in kernel/api/block.go have zero publish-access filtering, reachable by anonymous publish-mode readers |
| GHSA-3cc2-h3v6-rqpq | CVE-2026-74802 | LOW | SiYuan: Cross-Site WebSocket Hijacking on the admin-only network proxy endpoint (`/ws/network/proxy`) via explicit `CheckOrigin: true` bypass |
| GHSA-x8p6-569w-fmmr | - | LOW | Duplicate Advisory: SiYuan: Cross-Site WebSocket Hijacking on the admin-only network proxy endpoint (`/ws/network/proxy`) via explicit `CheckOrigin: true` bypass |
| GHSA-75xh-mp4f-f2rf | - | CRITICAL | Duplicate Advisory: SiYuan: getAttributeViewSearchTarget returns database row content to anonymous readers with no publish-access check, reopening the class closed one day earlier at the adjacent route |
| GHSA-vg99-7gj7-2fr5 | CVE-2026-73606 | MODERATE | SiYuan: The reference filter for getRefIDs checks visibility but not the password tier, disclosing that password-protected documents reference a given block |
| GHSA-gq43-vcrh-6jw8 | - | MODERATE | Duplicate Advisory: The reference filter for getRefIDs checks visibility but not the password tier, disclosing that password-protected documents reference a given block |
| GHSA-9cqf-hhrq-7v45 | - | HIGH | SiYuan: getAttributeViewSearchTarget returns database row content to anonymous readers with no publish-access check, reopening the class closed one day earlier at the adjacent route |
| GHSA-j4ph-9xwf-wcj4 | CVE-2026-73609 | MODERATE | SiYuan: getBookmarkLabels returns every bookmark label in the workspace to anonymous readers, with no publish-access filtering |
| GHSA-7v6h-j59w-8qfp | - | MODERATE | Duplicate Advisory: getBookmarkLabels returns every bookmark label in the workspace to anonymous readers, with no publish-access filtering |
| GHSA-hf8h-97gm-4x2p | CVE-2026-73605 | MODERATE | SiYuan: getUniqueFilename passes an unvalidated client-supplied path to the filesystem, giving anonymous readers an existence oracle over the entire host filesystem |
| GHSA-xxm9-w59q-m66x | - | MODERATE | Duplicate Advisory: getUniqueFilename passes an unvalidated client-supplied path to the filesystem, giving anonymous readers an existence oracle over the entire host filesystem |
| GHSA-53fp-9jmv-227g | CVE-2026-73607 | MODERATE | SiYuan: Outline state for any document, including documents forbidden to readers, is returned by /api/storage/getOutlineStorage with no access check |
| GHSA-v372-phq5-6mx6 | - | MODERATE | Duplicate Advisory: Outline state for any document, including documents forbidden to readers, is returned by /api/storage/getOutlineStorage with no access check |
| GHSA-33jq-p8c2-q3q4 | CVE-2026-69085 | CRITICAL | SiYuan: Unauthenticated SQL injection in searchDocs via unescaped keyword (publish mode): cross-notebook read/write with statement stacking |
| GHSA-5w4j-hchp-r332 | - | CRITICAL | Duplicate Advisory: Unauthenticated SQL injection in searchDocs via unescaped keyword (publish mode): cross-notebook read/write with statement stacking |
| GHSA-hgfg-j9pg-43xw | CVE-2026-72788 | MODERATE | SiYuan discloses an administrator's open documents and search terms to anonymous readers |
| GHSA-hpmw-8pgp-x77j | - | MODERATE | Duplicate Advisory: SiYuan discloses an administrator's open documents and search terms to anonymous readers |
| GHSA-v3mg-9v85-fcm7 | CVE-2026-56397 | MODERATE | SiYuan Vulnerable to Remote Code Execution via Malicious Bazaar Package — Marketplace XSS |
| GHSA-24r3-p3x6-cqvx | - | CRITICAL | Duplicate Advisory: SiYuan Vulnerable to Remote Code Execution via Malicious Bazaar Package — Marketplace XSS |
| GHSA-7j72-f6wg-cxw6 | CVE-2026-68584 | HIGH | SiYuan: Anonymous publish-password authentication bypass via getHeadingChildrenDOM / getHeading*Transaction / getBacklinkDoc (publish mode) |
| GHSA-g64v-qqpg-v37h | - | CRITICAL | Duplicate Advisory: Anonymous publish-password authentication bypass via getHeadingChildrenDOM / getHeading*Transaction / getBacklinkDoc (publish mode) |
| GHSA-v684-q882-jgmq | CVE-2026-72789 | HIGH | SiYuan: The publish-access gate treats encrypted notebooks as publicly accessible by default, allowing anonymous readers to retrieve fully decrypted document content while a notebook is unlocked |
| GHSA-xx34-6cjg-prh8 | - | CRITICAL | Duplicate Advisory: The publish-access gate treats encrypted notebooks as publicly accessible by default, allowing anonymous readers to retrieve fully decrypted document content while a notebook is unlocked |
| GHSA-74pj-6g7r-j55c | CVE-2026-72790 | MODERATE | SiYuan: Notebook name, document count, size and timestamps are returned for any notebook, including notebooks hidden from readers, by /api/notebook/getNotebookInfo |
| GHSA-mxjf-vfmv-qfm6 | - | MODERATE | Duplicate Advisory: Notebook name, document count, size and timestamps are returned for any notebook, including notebooks hidden from readers, by /api/notebook/getNotebookInfo |
| GHSA-57v5-wqx3-cgj4 | - | MODERATE | SiYuan: Database view structure (all view names, layout types and per-field visibility) is returned to anonymous readers by /api/av/getAttributeViewFieldViews |
| GHSA-mp7r-57w4-5qm3 | CVE-2026-72792 | MODERATE | SiYuan: Tag labels from password-protected documents are returned to readers who have not entered the password |
| GHSA-f68g-4xv8-2g75 | - | MODERATE | Duplicate Advisory: Tag labels from password-protected documents are returned to readers who have not entered the password |
| GHSA-h4v5-crx2-3cv4 | CVE-2026-72793 | HIGH | SiYuan: Non-administrator responses from /api/system/getConf omit three secrets that the configuration-export path explicitly strips, disclosing the session-cookie signing key and the OS username to anonymous readers |
| GHSA-2qqv-3jgq-vpm9 | - | CRITICAL | Duplicate Advisory: Non-administrator responses from /api/system/getConf omit three secrets that the configuration-export path explicitly strips, disclosing the session-cookie signing key and the OS username to anonymous readers |
| GHSA-h6w7-xxcf-w2mq | CVE-2026-72795 | HIGH | SiYuan: Embedded (transclusion) block content is returned without publish-access filtering, leaking private and password-protected document content to anonymous readers |
| GHSA-cjwm-9h7g-pcr9 | - | CRITICAL | Duplicate Advisory: Embedded (transclusion) block content is returned without publish-access filtering, leaking private and password-protected document content to anonymous readers |
| GHSA-34fj-mwm6-fjfg | CVE-2026-72794 | HIGH | SiYuan: The session-cookie signing key (Conf.CookieKey) is returned to anonymous readers by /api/system/getConf |
| GHSA-hg4j-w33m-p7g4 | - | CRITICAL | Duplicate Advisory: The session-cookie signing key (Conf.CookieKey) is returned to anonymous readers by /api/system/getConf |
| GHSA-fgmr-7w36-9qfq | CVE-2026-72796 | MODERATE | SiYuan: Static-file routes bypass the publish-access controls enforced on the REST API, exposing templates, snippets and export artifacts to anonymous readers |
| GHSA-cm9f-w4h4-7j85 | - | MODERATE | Duplicate Advisory: Static-file routes bypass the publish-access controls enforced on the REST API, exposing templates, snippets and export artifacts to anonymous readers |
| GHSA-f2rw-w22v-54vh | CVE-2026-72797 | MODERATE | SiYuan: getEncryptedNotebookStatus discloses names and current lock/unlock state of all encrypted notebooks to anonymous readers |
| GHSA-rchc-g58m-88jm | - | MODERATE | Duplicate Advisory: getEncryptedNotebookStatus discloses names and live unlock state of all encrypted notebooks to anonymous readers |
| GHSA-mfrj-v65r-979c | CVE-2026-72798 | HIGH | SiYuan: Publish-access filter on renderAttributeView leaves related-database content unfiltered and fails open on non-block first columns |
| GHSA-mg8q-52j3-w5f8 | - | CRITICAL | Duplicate Advisory: Publish-access filter on renderAttributeView leaves related-database content unfiltered and fails open on non-block first columns |
| GHSA-5w7r-f4cg-rqq7 | CVE-2026-72799 | MODERATE | SiYuan: Missing publish-access filter on the HPath/path-resolution endpoints discloses the private document tree to anonymous readers |
| GHSA-v3v5-7j3j-cc6f | - | MODERATE | Duplicate Advisory: Missing publish-access filter on the HPath/path-resolution endpoints discloses the private document tree to anonymous readers |
| GHSA-5fhr-f75j-8wr9 | CVE-2026-72800 | MODERATE | SiYuan: Missing publish-access filter on getAttributeViewKeysByID discloses database column schema, plus two unscoped block-ID enumeration oracles (publish mode) |
| GHSA-fxmw-rv85-5hwh | - | MODERATE | Duplicate Advisory: Missing publish-access filter on getAttributeViewKeysByID discloses database column schema, plus two unscoped block-ID enumeration oracles (publish mode) |
| GHSA-8x84-r2ff-h8pq | CVE-2026-72801 | HIGH | SiYuan: Encrypted-notebook key-derivation material and wrapped notebook keys disclosed to anonymous readers, enabling offline master-password cracking |
| GHSA-hr3f-qfrh-h7w5 | - | HIGH | Duplicate Advisory: Encrypted-notebook key-derivation material and wrapped notebook keys disclosed to anonymous readers, enabling offline master-password cracking |
| GHSA-jv8v-xq2h-657v | CVE-2026-72802 | MODERATE | SiYuan: Absolute filesystem path and OS username disclosure via resolveAssetPath |
| GHSA-72xp-24p9-7vpf | - | MODERATE | Duplicate Advisory: Absolute filesystem path and OS username disclosure via resolveAssetPath |
| GHSA-qvq9-hq6p-v378 | CVE-2026-72803 | MODERATE | SiYuan: Missing publish-access filter on getBlockAttrs and batchGetBlockAttrs discloses block attributes (name, alias, memo, custom fields) of protected documents |
| GHSA-h4w7-mgq4-wg6x | - | MODERATE | Duplicate Advisory: Missing publish-access filter on getBlockAttrs and batchGetBlockAttrs discloses block attributes (name, alias, memo, custom fields) of protected documents |
| GHSA-vpjw-wf5h-cgpq | CVE-2026-72804 | HIGH | SiYuan: Graph endpoints omit the publish-password tier: anonymous readers receive block-level content of password-protected documents |
| GHSA-v598-7627-g9fx | - | CRITICAL | Duplicate Advisory: Graph endpoints omit the publish-password tier: anonymous readers receive block-level content of password-protected documents |
| GHSA-67x2-mq63-v9vm | CVE-2026-72805 | MODERATE | SiYuan: Missing publish-access check on getBlockBreadcrumb, getRefText, and getBlockTreeInfos discloses content and metadata of protected/forbidden documents |
| GHSA-89hf-xcx5-r9r6 | - | MODERATE | Duplicate Advisory: Missing publish-access check on getBlockBreadcrumb, getRefText, and getBlockTreeInfos discloses content and metadata of protected/forbidden documents |
| GHSA-6mcf-g667-w3qv | CVE-2026-72806 | MODERATE | SiYuan: Password (protected) tier omitted in the attribute-view/database publish filter: Reader receives rows of protected documents without the password (publish mode) |
| GHSA-j26h-r8jx-887c | - | MODERATE | Duplicate Advisory: Password (protected) tier omitted in the attribute-view/database publish filter: Reader receives rows of protected documents without the password (publish mode) |
| GHSA-x67c-8pwr-m8g3 | CVE-2026-72807 | HIGH | SiYuan: Second-order SSTI to arbitrary SQL via attribute-view template column (queryBlocks): malicious imported package executes SQL on victim kernel |
| GHSA-2jmx-q9jf-wp3w | - | HIGH | Duplicate Advisory: Second-order SSTI to arbitrary SQL via attribute-view template column (queryBlocks): malicious imported package executes SQL on victim kernel |
| GHSA-v7ph-r5r6-4jcj | CVE-2026-72808 | MODERATE | SiYuan: Missing publish-access filter on getFileAnnotation discloses private PDF annotations of forbidden/protected documents (publish mode) |
| GHSA-mhcc-g592-267j | - | MODERATE | Duplicate Advisory: Missing publish-access filter on getFileAnnotation discloses private PDF annotations of forbidden/protected documents (publish mode) |
| GHSA-3mp7-4rh5-jrv9 | CVE-2026-72809 | HIGH | SiYuan: Localhost-trust admin bypass on auth-code-gated endpoints, with potential remote reachability via the fixed-port proxy |
| GHSA-8wx9-j7j5-h9vp | - | HIGH | Duplicate Advisory: Localhost-trust admin bypass on auth-code-gated endpoints, with potential remote reachability via the fixed-port prox |
| GHSA-mw8r-mw84-88v2 | CVE-2026-72810 | HIGH | SiYuan: Publish-boundary bypass via WebSocket broadcast: anonymous readers receive a live unfiltered feed of all edits including protected/forbidden documents (publish mode) |
| GHSA-q6g5-m978-c6v9 | - | CRITICAL | Duplicate Advisory: Publish-boundary bypass via WebSocket broadcast: anonymous readers receive a live unfiltered feed of all edits including protected/forbidden documents (publish mode) |
| GHSA-q2vg-7qgx-x5fc | CVE-2026-72811 | CRITICAL | SiYuan: SQL injection in backlink/mention search via unescaped stored and client input (publish mode): first-order (client keyword) and second-order (stored document title) breakout on read-write handle |
| GHSA-p8cp-78hp-wmq8 | - | CRITICAL | Duplicate Advisory: SQL injection in backlink/mention search via unescaped stored and client input (publish mode): first-order (client keyword) and second-order (stored document title) breakout on read-write handle |
| GHSA-wgwx-479j-23vq | CVE-2026-72812 | MODERATE | SiYuan: Missing authorization on refreshBacklink allows anonymous readers to trigger persistent server-side writes and unauthenticated resource amplification (publish mode) |
| GHSA-ww86-c2qf-w8fw | - | MODERATE | Duplicate Advisory: Missing authorization on refreshBacklink allows anonymous readers to trigger persistent server-side writes and unauthenticated resource amplification (publish mode) |
| GHSA-pm3w-vxp9-ccwc | CVE-2026-68585 | MODERATE | SiYuan: Cross-boundary metadata disclosure via getBlockInfo (publish mode): reader-reachable document title/root info for publish-forbidden docs; sibling getDocInfo is filtered |
| GHSA-3rfw-7fxw-6jxm | - | MODERATE | Duplicate Advisory: Cross-boundary metadata disclosure via getBlockInfo (publish mode): reader-reachable document title/root info for publish-forbidden docs; sibling getDocInfo is filtered |
| GHSA-36v8-mpjm-8j5r | CVE-2026-68586 | HIGH | SiYuan: Cross-boundary content disclosure via getBacklinkDoc/getBackmentionDoc (publish mode): reader-reachable rendered DOM of publish-forbidden docs; sibling list endpoints are filtered |
| GHSA-69mh-gvh4-8gp7 | CVE-2026-68587 | HIGH | SiYuan: Full-content disclosure of publish-disabled documents via getHeading*Transaction endpoints (publish mode): reader-reachable rendered DOM with no publish-access check |
| GHSA-85xq-27m5-59m9 | - | CRITICAL | Duplicate Advisory: SiYuan: Full-content disclosure of publish-disabled documents via getHeading*Transaction endpoints (publish mode): reader-reachable rendered DOM with no publish-access check |
| GHSA-fph3-ghq9-vw66 | CVE-2026-69083 | CRITICAL | SiYuan: Unauthenticated SQL execution and REGEXP injection via fullTextSearchAssetContent (publish mode): reader-reachable raw SQL (method 2) and unescaped REGEXP (method 3) on read-write asset-content DB |
| GHSA-7hm9-v7vf-7g4w | CVE-2026-69086 | HIGH | SiYuan: Path Traversal via unvalidated avID in RenderAttributeView/AV read endpoints : reader-reachable cross-scope attribute-view disclosure |
| GHSA-x7jr-gvvr-p9w7 | - | HIGH | Duplicate Advisory: Path Traversal via unvalidated avID in RenderAttributeView/AV read endpoints : reader-reachable cross-scope attribute-view disclosure |
| GHSA-vh22-h7hf-www7 | CVE-2026-69084 | CRITICAL | SiYuan: Unauthenticated arbitrary SQL execution via searchEmbedBlock (publish mode) : reader-reachable raw statement on read-write handle, cross-notebook read/write |
| GHSA-p2x7-4c4p-8wh6 | - | CRITICAL | Duplicate Advisory: Unauthenticated arbitrary SQL execution via searchEmbedBlock (publish mode) : reader-reachable raw statement on read-write handle, cross-notebook read/write |
| GHSA-gw25-m53r-qh88 | - | MODERATE | SiYuan: path traversal via /export/temp/ short-circuit branch (incomplete fix for the export-disclosure hardening, GHSA-6865-qjcf-286f) |
| GHSA-99rq-75j6-5j9f | - | HIGH | SiYuan: Stored and reflected XSS in SiYuan through an SVG sanitizer bypass |
| GHSA-275h-v5h9-vr82 | CVE-2026-59832 | HIGH | Siyuan: Authenticated path traversal in /snippets/ static handler (serveSnippets) leaks conf/conf.json secrets and siyuan.db |
| GHSA-h89q-4j2h-7h88 | CVE-2026-59834 | HIGH | SiYuan: SQL Query in Block Search Exposes Hidden Published Document Content |
| GHSA-56mp-4f3v-fgj2 | CVE-2026-50551 | CRITICAL | SiYuan: Stored XSS to RCE via Unsanitized Attribute View Asset Cell Content |
| GHSA-5xfx-xj4h-5p7r | CVE-2026-54158 | CRITICAL | SiYuan: Stored XSS to RCE via attribute-view cell rendering in genAVValueHTML() |
| GHSA-hvr9-72v2-fff3 | CVE-2026-54069 | CRITICAL | SiYuan: Unauthenticated Admin API Access via Blanket chrome-extension:// Origin Allowlist |
| GHSA-w7cg-whh7-xp28 | CVE-2026-54070 | HIGH | SiYuan: Stored XSS in Bazaar marketplace via package README event handlers |
| GHSA-gcm7-57gf-953c | CVE-2026-54068 | MODERATE | SiYuan: Unauthenticated SQLite Data Exfiltration via Template Injection in /api/icon/getDynamicIcon |
| GHSA-mvjr-vv3c-w4qv | CVE-2026-54067 | CRITICAL | SiYuan: Stored XSS to RCE via CSS-snippet <style> breakout in renderSnippet() |
| GHSA-p4m3-mgmm-c664 | CVE-2026-54066 | HIGH | SiYuan: Path Traversal via Double URL Encoding in /assets/*path (publish mode arbitrary file─read), Incomplete fix of CVE-2026-41894 |
| GHSA-27qc-m5gf-jv5r | CVE-2026-45375 | CRITICAL | SiYuan Bazaar marketplace renders unescaped package `name` and `version` metadata, allowing stored XSS and Electron code execution |
| GHSA-25rp-h46x-2hjm | CVE-2026-44588 | CRITICAL | SiYuan: Electron Renderer RCE via decodeURIComponent-driven tooltip XSS in aria-label sink (incomplete fix for CVE-2026-34585) |
| GHSA-2h64-c999-c9r6 | CVE-2026-44670 | CRITICAL | SiYuan Affected by Stored XSS via Attribute View Name to Electron Renderer RCE |
| GHSA-gmmv-4cc5-wr9r | CVE-2026-45371 | HIGH | SiYuan publish-mode Reader can mutate Conf and SQL index via 8 ungated APIs |
| GHSA-fmh9-gpqh-g53g | CVE-2026-45148 | MODERATE | SiYuan has broken access control in `/api/search/{searchAsset,searchTag,searchWidget,searchTemplate}` publish-mode |
| GHSA-6r88-8v7q-q4p2 | CVE-2026-45147 | MODERATE | SiYuan: Broken access control in `/api/tag/getTag` — Reader role can mutate `Conf.Tag.Sort` and persist to disk |
| GHSA-hjh7-r5w8-5872 | CVE-2026-41894 | HIGH | SiYuan: Path Traversal via Double URL Encoding in `/export/` Endpoint (Incomplete Fix Bypass for CVE-2026-30869) |
| GHSA-7m5h-w69j-qggg | CVE-2026-40259 | HIGH | SiYuan: Publish Reader Can Arbitrarily Delete Attribute View Files via `/api/av/removeUnusedAttributeView` |
| GHSA-vw86-c94w-v3x4 | CVE-2026-40318 | HIGH | SiYuan: Publish Reader Path Traversal Delete via `removeUnusedAttributeView` |
| GHSA-8q5w-mmxf-48jg | CVE-2026-40922 | MODERATE | SiYuan has incomplete fix for CVE-2026-33066: XSS |
| GHSA-w95v-4h65-j455 | CVE-2026-40107 | HIGH | SiYuan Affected by Zero-Click NTLM Hash Theft and Blind SSRF via Mermaid Diagram Rendering |
| GHSA-phhp-9rm9-6gr2 | CVE-2026-39846 | CRITICAL | SiYuan: Remote Code Execution in the Electron desktop client via stored XSS in synced table captions |
| GHSA-73g7-86qr-jrg3 | CVE-2026-34605 | HIGH | SiYuan vulnerable to reflected XSS via SVG namespace prefix bypass in SanitizeSVG (getDynamicIcon, unauthenticated) |
| GHSA-ff66-236v-p4fg | CVE-2026-34585 | HIGH | SiYuan Desktop: Stored XSS in imported .sy.zip content leads to arbitrary command execution |
| GHSA-c77m-r996-jr3q | CVE-2026-34453 | HIGH | SiYuan: Unauthenticated Access to Password-Protected Bookmarks via /api/bookmark/getBookmark |
| GHSA-68p4-j234-43mv | CVE-2026-34449 | CRITICAL | SiYuan is Vulnerable to Cross-Origin RCE via Permissive CORS Policy and JavaScript Snippet Injection |
| GHSA-rx4h-526q-4458 | CVE-2026-34448 | CRITICAL | SiYuan: Stored XSS in Attribute View Gallery/Kanban Cover Rendering Allows Arbitrary Command Execution in Desktop Client |
| GHSA-fq2j-j8hc-8vw8 | CVE-2026-32938 | CRITICAL | SiYuan Vulnerable to Arbitrary File Read in Desktop Publish Service |
| GHSA-j7wh-x834-p3r7 | CVE-2026-32767 | CRITICAL | SiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API |
| GHSA-xp2m-98x8-rpj6 | CVE-2026-32815 | MODERATE | SiYuan Vulnerable to Cross-Origin WebSocket Hijacking via Authentication Bypass — Unauthenticated Information Disclosure |
| GHSA-qr46-rcv3-4hq3 | CVE-2026-32751 | MODERATE | SiYuan Vulnerable to Remote Code Execution via Stored XSS in Notebook Name - Mobile Interface |
| GHSA-qvvf-q994-x79v | CVE-2026-32749 | HIGH | SiYuan importSY/importZipMd: path traversal via multipart filename enables arbitrary file write |
| GHSA-h5vh-m7fg-w5h6 | CVE-2026-32747 | MODERATE | SiYuan globalCopyFiles: incomplete sensitive path blocklist allows reading /proc and Docker secrets |
| GHSA-4j3x-hhg2-fm2x | CVE-2026-32704 | MODERATE | SiYuan's renderSprig has a missing admin check that allows any user to read full workspace DB |
| GHSA-xmw9-6r43-x9ww | CVE-2026-33670 | CRITICAL | SiYuan has directory traversal within its publishing service |
| GHSA-34xj-66v3-6j83 | CVE-2026-33669 | CRITICAL | SiYuan has Arbitrary Document Reading within the Publishing Service |
| GHSA-hhgj-gg9h-rjp7 | CVE-2026-33476 | HIGH | Siyuan has an Unauthenticated Arbitrary File Read via Path Traversal |
| GHSA-3g9h-9hp4-654v | CVE-2026-33203 | HIGH | SiYuan has an Unauthenticated WebSocket DoS via Auth Keepalive Bypass |
| GHSA-vm69-h85x-8p85 | CVE-2026-33194 | MODERATE | SiYuan has an Incomplete Fix for IsSensitivePath Denylist Allows File Read from /opt, /usr, /home (GHSA-h5vh-m7fg-w5h6 Bypass) |
| GHSA-mvpm-v6q4-m2pf | CVE-2026-33067 | MODERATE | SiYuan has Stored XSS to RCE via Unsanitized Bazaar Package Metadata |
| GHSA-4663-4mpg-879v | CVE-2026-33066 | MODERATE | SiYuan has Stored XSS to RCE via Unsanitized Bazaar README Rendering |
| GHSA-56cv-c5p2-j2wg | CVE-2026-32110 | HIGH | SiYuan has a Full-Read SSRF via /api/network/forwardProxy |
| GHSA-pmc9-f5qr-2pcr | CVE-2026-31809 | MODERATE | SiYuan has a SVG Sanitizer Bypass via Whitespace in `javascript:` URI — Unauthenticated XSS |
| GHSA-5hc8-qmg8-pw27 | CVE-2026-31807 | MODERATE | SiYuan has a SVG Sanitizer Bypass via `<animate>` Element — Unauthenticated XSS |
| GHSA-2h2p-mvfx-868w | CVE-2026-30869 | CRITICAL | SiYuan Vulnerable to Path Traversal in /export Endpoint Allows Arbitrary File Read and Secret Leakage |
| GHSA-f9cq-v43p-v523 | CVE-2026-30926 | HIGH | SiYuan: Authorization Bypass Allows Low-Privilege Publish User to Modify Notebook Content via /api/block/appendHeadingChildren |
| GHSA-6865-qjcf-286f | CVE-2026-29183 | CRITICAL | SiYuan: Unauthenticated Reflected XSS via SVG Injection in /api/icon/getDynamicIcon Endpoint |
| GHSA-jqwg-75qf-vmf9 | CVE-2026-29073 | MODERATE | SiYuan's direct SQL Query API accessible to Reader-level users enables unauthorized database access |
| GHSA-f72r-2h5j-7639 | CVE-2026-25992 | HIGH | SiYuan File Read API Case Sensitivity Bypass can Lead to Path Traversal |
| GHSA-c4jr-5q7w-f6r9 | CVE-2026-25539 | CRITICAL | SiYuan has Arbitrary File Write via /api/file/copyFile leading to RCE |
| GHSA-pcjq-j3mq-jv5j | CVE-2026-23645 | MODERATE | SiYuan Has a Stored Cross-Site Scripting (XSS) Vulnerability via Unrestricted SVG File Upload |
| GHSA-cv54-7wv7-qxcw | CVE-2026-23850 | HIGH | SiYuan vulnerable to Arbitrary file Read / SSRF |
| GHSA-94c7-g2fj-7682 | CVE-2026-23851 | HIGH | SiYuan Vulnerable to Arbitrary File Read via File Copy Functionality |
| GHSA-w836-5gpm-7r93 | CVE-2026-23847 | LOW | SiYuan has a Reflected Cross-Site Scripting (XSS) via /api/icon/getDynamicIcon |
| GHSA-gqfv-g4v7-m366 | CVE-2025-67488 | HIGH | SiYuan: ZipSlip -> Arbitrary File Overwrite -> RCE |
| GHSA-4r66-7rcv-x46x | - | HIGH | SiYuan vulnerable to RCE via zip slip and Command Injection via PandocBin |
| GHSA-25w9-wqfq-gwqx | CVE-2024-55658 | HIGH | SiYuan has an arbitrary file read and path traversal via /api/export/exportResources |
| GHSA-xx68-37v4-4596 | CVE-2024-55657 | HIGH | SiYuan has an arbitrary file read via /api/template/render |
| GHSA-8fx8-pffw-w498 | CVE-2025-21609 | HIGH | SiYuan has an arbitrary file deletion vulnerability |
| GHSA-4pjc-pwgq-q9jp | CVE-2024-55660 | MODERATE | SiYuan has an SSTI via /api/template/renderSprig |
| GHSA-fqj6-whhx-47p7 | CVE-2024-55659 | HIGH | SiYuan has an arbitrary file write in the host via /api/asset/upload |
GHSA-4wwp-f6gw-6qm5 at a Glance
How to Fix GHSA-4wwp-f6gw-6qm5
To remediate this vulnerability, upgrade all affected SiYuan dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/siyuan-note/siyuan/kernel to 0.0.0-20260819144130-256d73aa7f94
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/siyuan-note/siyuan/kernel
How to Check if You Are Affected
To determine whether your application is affected by GHSA-4wwp-f6gw-6qm5, inspect your project dependencies for SiYuan:
inspect dependencies for github.com/siyuan-note/siyuan/kernel
Analyze the terminal output to locate any version of SiYuan in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.0.0-20260819144130-256d73aa7f94), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-552: Files or Directories Accessible to External Parties, where the product makes files or directories accessible to unauthorized actors, even though they should not be. In SiYuan, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-4wwp-f6gw-6qm5 Affected SiYuan Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/siyuan-note/siyuan/kernel
|
Go |
< 0.0.0-20260819144130-256d73aa7f94
|
0.0.0-20260819144130-256d73aa7f94
|
References
Frequently Asked Questions
What is GHSA-4wwp-f6gw-6qm5?
Which SiYuan versions are affected?
What version fixes GHSA-4wwp-f6gw-6qm5?
Is github.com/siyuan-note/siyuan/kernel affected?
What CWE is associated with GHSA-4wwp-f6gw-6qm5?
How can I check Go dependencies for GHSA-4wwp-f6gw-6qm5?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-4wwp-f6gw-6qm5",
"modified" : "2026-10-05T17:32:48Z",
"published" : "2026-10-05T17:32:48Z",
"aliases" : [ ],
"summary" : "SiYuan: TLS Private Keys Readable via getFile (Incomplete Blocklist)",
"details" : "### Summary:\n`IsForbiddenAbsPath()` only blocks `conf/conf.json` by exact match. The TLS private key (conf/key.pem) and CA private key (conf/ca.key) live in the same conf/ directory and are absent from the blocklist. Any authenticated user can retrieve them via POST `/api/file/getFile`.\n\n### Root cause\n`kernel/util/path_guard.go`, `IsForbiddenAbsPath()` has no entry for TLS key material. The `getFile` handler at kernel/api/file.go:497 skips the blocklist for RoleAdministrator, and in v3.8.1 all authenticated users receive RoleAdministrator (no non-admin role is currently issued to direct API consumers). The files are generated on every boot regardless of whether TLS is active.\n\n### Steps to reproduce:\n```\n# No token required on a default no-auth-code instance\ncurl -s -X POST http://TARGET:6806/api/file/getFile \\\n -H \"Content-Type: application/json\" \\\n -d '{\"path\": \"/conf/key.pem\"}'\n```\n```\ncurl -s -X POST http://TARGET:6806/api/file/getFile \\\n -H \"Content-Type: application/json\" \\\n -d '{\"path\": \"/conf/ca.key\"}'\n```\n\n**Response:** Raw PEM private key bytes.\n\n<img width=\"927\" height=\"467\" alt=\"2026-08-19_14-19\" src=\"https://github.com/user-attachments/assets/12e0787f-6bfc-416a-b5ad-a22954e45c48\" />\n\n### Impact:\nOn deployments with TLS enabled (--ssl flag or NetworkServeTLS), possession of `key.pem` allows decryption of captured HTTPS traffic. Possession of `ca.key` allows signing certificates trusted by any client that imported SiYuan's locaprompts users to do). The files exist on every installation even whenTLS is currently inactive.\n\n### Prior art: \nThis is the same class of bug as GHSA-9jfx-rc58-h23j (conf.json readable via template render) and GHSA-c8r8-95hg-mp34 (MCP file tool blocklist incomplete). The fix is to add `conf/key.pem`, `conf/ca.key`, `conf/cert.pem`, and `conf/ca.crt` to `IsForbiddenAbsPath()`.",
"severity" : [ ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/siyuan-note/siyuan/kernel"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.0.0-20260819144130-256d73aa7f94"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4wwp-f6gw-6qm5"
}, {
"type" : "WEB",
"url" : "https://github.com/siyuan-note/siyuan/commit/256d73aa7f94aead7ba255b668e32c140af23137"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/siyuan-note/siyuan"
}, {
"type" : "WEB",
"url" : "https://github.com/siyuan-note/siyuan/releases/tag/v3.8.2"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-552" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-10-05T17:32:48Z",
"nvd_published_at" : null
}
}