Description
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.
Published: 2026-09-26
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass – potential remote administrative control
Action: Immediate Patch
AI Analysis

Impact

SiYuan’s authentication guard fails when the HTTP Origin header is missing, a flaw corresponding to CWE‑346. The check mistakenly assumes that all browser‑initiated cross‑site requests include an Origin, so when browsers omit this header for top‑level GET navigations and no‑cors GET subresource loads, the guard incorrectly allows the request and grants RoleAdministrator. An unauthenticated remote attacker can trigger a malicious GET from a controlled web page, execute arbitrary script under the victim’s SiYuan origin, invoke administrator APIs, and exfiltrate the persistent kernel API token, effectively gaining full administrative control over the affected instance.

Affected Systems

Versions of SiYuan up to and including 3.8.3 are affected on any installation, whether default, password protected, or custom access‑authorization configurations. The product is SiYuan released by siyuan‑note. Users running SiYuan before v3.8.4 are therefore vulnerable.

Risk and Exploitability

The CVSS score of 8.6 indicates high severity for a remote attacker. No EPSS score is available, so the precise likelihood of exploitation is unknown, but the vulnerability is publicly disclosed and can be triggered via ordinary web browsing, requiring only that the victim visit a malicious page. The escalation path is straightforward: cross‑site GET without Origin leads to administrative privileges and token exfiltration. The vulnerability is not included in CISA's KEV catalog, yet the widespread absence of the Origin header in normal browsing traffic makes exploitation feasible without specialized tools.

Generated by OpenCVE AI on September 26, 2026 at 16:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade SiYuan to version 3.8.4 or later, where the authentication guard validates the Origin header.
  • If immediate upgrade is not possible, filter network traffic to reject or modify any request to privileged endpoints that lacks an Origin header, or inject a placeholder Origin header at the reverse‑proxy level.
  • Configure the session cookie with SameSite=Strict (or otherwise protect against SameSite=Lax) to reduce the likelihood that cross‑site GET requests will carry the authentication cookie.

Generated by OpenCVE AI on September 26, 2026 at 16:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 30 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sat, 26 Sep 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan

Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description 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.
Title SiYuan before v3.8.4 Authentication Bypass via Missing Origin Header
First Time appeared B3log
B3log siyuan
Weaknesses CWE-346
CPEs cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
Vendors & Products B3log
B3log siyuan
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 8.6, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-30T14:47:14.800Z

Reserved: 2026-09-26T02:33:07.898Z

Link: CVE-2026-100646

cve-icon Vulnrichment

Updated: 2026-09-30T14:47:00.687Z

cve-icon NVD

Status : Deferred

Published: 2026-09-26T14:16:46.900

Modified: 2026-09-30T15:21:53.333

Link: CVE-2026-100646

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T22:28:39Z

Weaknesses