Skip to main content

SiYuan CVE-2026-100646

| EUVDEUVD-2026-87740 HIGH
Origin Validation Error (CWE-346)
2026-09-26 VulnCheck GHSA-r2fg-xpcg-8v48
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Lure victim to attacker web page
  2. Delivery
    Issue cross-site GET with no Origin header
  3. Exploit
    Auth guard fails open, grants RoleAdministrator
  4. Execution
    Abuse /api/network/proxy content-type sniffing to serve HTML in SiYuan origin
  5. Persist
    Execute script, invoke admin APIs
  6. Impact
    Exfiltrate persistent kernel API token

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation targets SiYuan kernel versions up to and including 3.8.3 listening on its HTTP endpoint (default http://127.0.0.1:6806). The attacker needs the victim to visit an attacker-controlled web page (UI:P) using a browser that omits the Origin header on cross-site top-level GET navigations / no-cors GET subresource loads; combined with the SameSite=Lax session cookie this bypasses the origin check. It works against default installations that have no access-authorization configured, and against password-protected instances only while the victim has a live authenticated session. The chain further relies on content-type sniffing at /api/network/proxy to host attacker HTML under SiYuan's origin. Limiting factors: requires victim interaction (visiting a page), and for password-protected instances requires an active session; no attacker authentication is required.

Impact

This is a genuine high-priority vulnerability, not a high-CVSS-but-low-real-risk case. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) describes a network-reachable, low-complexity flaw an unauthenticated attacker can trigger with only victim interaction (visiting a web page). The core defect (CWE-346, Origin Validation Error) is a fail-open authentication guard: because browsers omit the Origin header on cross-site top-level GET navigations and no-cors GET subresource loads, and the session cookie is SameSite=Lax, a single cross-site GET from any attacker-controlled page is granted RoleAdministrator. Critically, it works on BOTH default installs (no access-authorization) AND password-protected instances with a live session, which widens the realistic victim pool. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data - so there is no evidence of active exploitation; per precision rules this is 'no public exploit identified at time of analysis.' The absence of KEV/EPSS should not downgrade priority much given the low attack complexity, no-auth requirement, and that the mechanism (missing-Origin CSRF chained to content-type sniffing on /api/network/proxy to achieve script execution in SiYuan's own origin and exfiltrate the persistent kernel API token) is fully described and reproducible. Note the input 'RCE' tag is somewhat generous: the description establishes arbitrary script execution within the SiYuan origin, admin-API invocation, and API-token theft, but does not itself demonstrate host-level code execution (siblings achieve host RCE via Electron nodeIntegration, which this advisory does not invoke).

Exploit ScenarioDerived

An attacker hosts a malicious web page and lures a SiYuan user (or anyone running a default local SiYuan instance) to visit it. The page issues a cross-site GET to http://127.0.0.1:6806 with no Origin header; SiYuan's auth guard fails open and treats it as RoleAdministrator, then the /api/network/proxy content-type sniffing is abused to serve attacker HTML under SiYuan's own origin, executing script that calls administrator APIs and exfiltrates the persistent kernel API token. No public exploit code is identified at time of analysis, but the mechanism is fully described in the vendor advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 26, 2026

SiYuan versions up to and including 3.8.3 contain an authentication bypass allowing a remote attacker to execute arbitrary script in the SiYuan origin and invoke administrator APIs by tricking a victim into visiting a malicious web page. The vulnerability is unauthenticated (CVSS PR:N) but requires user interaction (UI:P); password-protected instances are only affected if the victim has a live session. No public exploit code was identified at the time of analysis, and the issue is fixed in version 3.8.4.

RemediationAI

Upgrade to SiYuan 3.8.4 or later (vendor-released patch). No official workarounds are documented; as a compensating control until patching is possible, use SiYuan in a dedicated browser profile and avoid visiting untrusted websites in that profile, as the attack requires the victim's browser to make cross-site requests to the local SiYuan instance. This reduces exposure but does not eliminate the flaw and may be inconvenient. Note that the default bind to 127.0.0.1 does not prevent the browser-based attack. Refer to the vendor advisory for any additional guidance: https://github.com/siyuan-note/siyuan/security/advisories/GHSA-2w6q-wgc8-q743.

Affected VersionsENISA

SiYuan 0 <3.8.4

Affected Packages

euvd siyuan fix: 3.8.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability stems from CWE-346 (Origin Validation Error) in SiYuan's kernel. Authentication guards CheckAuth in kernel/model/session.go and IsSessionOriginAllowed in kernel/util/net.go fail open when the HTTP Origin header is absent, incorrectly assuming browsers always include Origin on cross-site requests. Browsers omit Origin on cross-site top-level GET navigations and no-cors GET subresource loads, and because the session cookie uses SameSite=Lax, it is sent on such navigations. Consequently, a single cross-site GET from an attacker-controlled page is granted RoleAdministrator, both on default installations lacking access-authorization and on password-protected instances with an active session. The attack is amplified by content-type sniffing on the /api/network/proxy endpoint, which allows attacker-controlled HTML to be served under SiYuan's origin, enabling script execution in the context of http://127.0.0.1:6806, administrator API calls, and exfiltration of the persistent kernel API token. The affected component is identified by CPE cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:*.

Know when Siyuan gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.3 CRITICAL

Unauthenticated (PR:N) network attack needing victim page visit (UI:R); script gains SiYuan's origin and admin token crossing security authority (S:C), enabling data read (C:H) and admin-API calls (I:H); no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:23 cve.org
HIGH 8.6

DescriptionCVE.org

SiYuan is a self-hosted personal knowledge management system. In versions up to and including 3.8.3, the kernel's authentication guards (CheckAuth in kernel/model/session.go and IsSessionOriginAllowed in kernel/util/net.go) fail open when the HTTP Origin header is absent, on the incorrect assumption that any browser-initiated cross-site request carries an Origin. Because browsers omit Origin on cross-site top-level GET navigations and no-cors GET subresource loads - and the session cookie is SameSite=Lax - a single cross-site GET issued from any attacker-controlled web page is granted RoleAdministrator, both on default installations with no access-authorization code and on password-protected instances with a live session. Combined with content-type sniffing on the /api/network/proxy endpoint, which allows attacker-controlled HTML to be served under SiYuan's own origin, this permits an unauthenticated remote attacker to execute arbitrary script in the SiYuan origin (http://127.0.0.1:6806), invoke administrator APIs, and exfiltrate the persistent kernel API token. This issue is fixed in version 3.8.4.

Technical POC Analysis

CWE-346 (Origin Validation Error), composed with CWE-1220 (insufficient granularity of access control) and CWE-430/CWE-436 for the sniffing sink.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

SiYuan versions up to and including 3.8.3 are affected by an authentication bypass that allows a remote attacker to execute arbitrary script and invoke administrator APIs when a user visits a malicious webpage. This unauthenticated vulnerability requires user interaction but can compromise instances with active sessions, including password-protected ones. Leadership should prioritize patching because successful exploitation could lead to unauthorized administrative control and exposure of sensitive data.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
Popular (~35k-star) self-hosted open-source PKM app, common but not enterprise-ubiquitous
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Siyuan

View all
CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy