Skip to main content

SiYuan EUVDEUVD-2026-109428

| CVE-2026-116167 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-25 VulnCheck GHSA-jvrf-pm5c-jgr4
7.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Send crafted check-auth javascript: link to victim
  2. Delivery
    Victim opens page and completes valid login
  3. Exploit
    Unvalidated 'to' assigned to window.location.href
  4. Execution
    javascript: URI executes in kernel origin
  5. Impact
    Invoke same-origin kernel APIs to read or modify workspace content and settings

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation targets the unauthenticated /check-auth page of the SiYuan kernel (default port 6806), which reads the 'to' query parameter (app/stage/auth.html) and assigns it to window.location.href on login success without scheme validation. Concrete prerequisites: the attacker must deliver a crafted link containing a javascript: URI in 'to' to the victim, AND the victim must (a) open that link and (b) complete a valid login by entering their access auth code and submitting on that page - the script only runs after loginAuth returns code 0. Limiting factors that reduce realistic risk: mandatory two-step user interaction (open plus authenticate), network reachability to the victim's kernel, and the instance having access auth enabled; full read/modify of workspace content and kernel settings requires the authenticating victim to be an administrator. This is reflected, not stored, so no persistence exists between sessions.

Impact

The input CVSS 4.0 base score is 7.6 (High) with vector AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N. PR:N reflects that the /check-auth page is served without authentication, so the attacker themselves needs no credentials; however AC:H, AT:P and UI:P together signal substantial constraints: the attack only succeeds if the victim opens the attacker-crafted link AND completes a valid login on that page. This is a reflected (non-stored) XSS, so there is no persistent trigger and each exploitation depends on social engineering. No EPSS score and no CISA KEV status were provided in the input, so widespread-exploitation probability cannot be quantified from the data; absence of KEV means there is no evidence of active exploitation. A public PoC reference exists in the GHSA advisory and was verified end to end by the reporter on v3.8.6, which raises practical feasibility above purely theoretical. The vuln.today decision label is 'this_week', consistent with a genuine but user-interaction-gated issue rather than an emergency. Net: this is a real, patch-this-week priority for exposed SiYuan instances, but the heavy user-interaction precondition (open link plus authenticate) keeps real-world mass-exploitation risk below what the High score alone might suggest.

Exploit ScenarioDerived

An attacker sends a victim a phishing link pointing at the victim's SiYuan kernel, e.g. http://<host>:6806/check-auth?to=javascript:<payload>, where the to parameter carries a javascript: URI. When the victim opens the unauthenticated /check-auth page and enters their valid access auth code, the successful-login handler assigns the unvalidated to value to window.location.href and the javascript: URI executes in the kernel origin under the victim's authenticated session, able to call same-origin kernel APIs. A PoC reference exists in the GHSA advisory and was verified end to end by the reporter on SiYuan v3.8.6; it is not packaged as standalone working exploit code.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC 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 – Oct 25, 2026

Reflected cross-site scripting in the SiYuan knowledge-management kernel (versions 2.9.0 through 3.8.6) lets a crafted /check-auth?to= link inject a javascript: URI that executes in the authenticated kernel origin once the victim logs in, after which the injected script can call same-origin kernel APIs to read or modify workspace content and settings. Exploitation requires a two-step user interaction: the victim must open the attacker-supplied link and then enter a valid access auth code on that page, so the CVSS 4.0 score is 7.6 (High) with AC:H/UI:P; the assessed CVSS 3.1 vector is AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N. The issue is a reflected flaw with no persistence, was verified end to end by the reporter on v3.8.6, and proof-of-concept details are published in the vendor GHSA advisory; it is not listed in CISA KEV, and no EPSS score was supplied with the intelligence.

RemediationAI

Vendor-released patch: SiYuan v3.8.7 fixes the issue - upgrade any instance running 2.9.0 through 3.8.6 to v3.8.7 or later, following the vendor advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-fmj3-xc2f-6w4w. Until the upgrade is applied, the practical compensating controls are to refuse to open /check-auth links that carry a 'to' parameter from untrusted sources (the payload only fires when the victim authenticates on the crafted page) and to restrict network access to the kernel port (default 6806) to trusted hosts or a loopback/VPN boundary so an attacker cannot deliver a reachable crafted link - the trade-off is that this also blocks legitimate remote access to the SiYuan web UI and API. Disabling access authentication would remove the login-completion precondition but is not an acceptable mitigation because it exposes the kernel to unauthenticated use. The issue is reflected rather than stored, so no cleanup of workspace content is required after a suspected attempt; rotating the access auth code and reviewing kernel logs for /check-auth requests with javascript: in the 'to' parameter is advisable where compromise is suspected.

Affected VersionsENISA

SiYuan 2.9.0 <3.8.7

Affected Packages

euvd siyuan fix: 3.8.7

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

SiYuan is a Go-based local/self-hosted knowledge kernel that serves a browser UI on port 6806 by default, with authentication handled by an access auth code. The static page app/stage/auth.html reads the post-login destination with toPath = url.searchParams.get("to") || "/" and later assigns that value directly to window.location.href in two sinks: the success branch of the fetch("/api/system/loginAuth") handler (response.code == 0) and the onmessage handler for the loginAuth WebSocket push. Because the /check-auth route in kernel/server/serve.go is registered without an authentication check, the unauthenticated page is reachable by anyone who can route to the kernel, and any URI scheme in 'to' - including javascript: - survives to the assignment. The weakness class is CWE-79 (improper neutralization of input during web page generation), here a DOM-based/reflected variant caused by missing scheme allow-listing at a navigation sink rather than by stored content injection; source-level dating shows the sink absent in v2.8.0, introduced in v2.9.0 (line 509) and carried through v3.8.6, where the refactor added the second WebSocket-driven sink. Unlike earlier SiYuan XSS advisories, which concern stored XSS in content renderers, this flaw lives entirely in the authentication page and requires no stored content or renderer injection. It is reflected only, so nothing persists between sessions.

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 7.6 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.8 MEDIUM

Attacker needs no auth (PR:N) against the public /check-auth page, but success requires the victim to open the link and complete login, so AC:H and UI:R; high read/modify impact gives C:H/I:H, A:N.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/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
High
Attack Requirements
Present
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
Oct 25, 2026 - 14:01 EUVD
CVE Published
Oct 25, 2026 - 13:20 cve.org
HIGH 7.6

DescriptionCVE.org

SiYuan from 2.9.0 before 3.8.7 contains a cross-site scripting vulnerability in the unauthenticated /check-auth page that assigns the to parameter to window.location.href without scheme validation. Attackers can send a crafted link with a javascript: URI that executes after victim login, invoking kernel APIs to read or modify workspace content and settings.

Technical POC Analysis

CWE-79, reflected cross-site scripting, in the SiYuan kernel's login page.

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

Latest POC

1 public PoC link from nuclei

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

A reflected cross-site scripting vulnerability in SiYuan knowledge-management kernel versions 2.9.0 through 3.8.6 enables attackers to execute malicious JavaScript within an authenticated user's workspace session. This threatens the confidentiality and integrity of sensitive organizational knowledge, affecting users and potentially exposing intellectual property or credentials. Leadership should care because exploitation, while requiring user interaction, could lead to unauthorized access and modification of critical business information.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include blocking malicious link patterns via WAF, user awareness training, and network segmentation.

Threat Model

5 threats: Tampering, Information Disclosure, Elevation of Privilege and 2 more

5-step attack chain with trust boundaries and controls

Full threat model - attack chain, trust boundaries, controls per stage and evidence - is part of the Pro and Business plans.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
self-hosted personal note-taking app, limited production enterprise footprint
Social Media
1
Sightings
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 Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Siyuan

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

SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role

CVE-2026-54067 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a

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-54158 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,

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

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