Skip to main content

SiYuan CVE-2026-87808

| EUVDEUVD-2026-74834 HIGH
Protection Mechanism Failure (CWE-693)
2026-09-09 VulnCheck GHSA-hfpm-rwr4-jjg8
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain administrator credentials
  2. Delivery
    Identify SiYuan instance running --readonly=true
  3. Exploit
    POST /api/search/fullTextSearchBlock with method=2 and crafted SQL
  4. Execution
    Bypass missing CheckReadonly guard
  5. Impact
    Extract blocks database contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
Exploitation Conditions

Three concrete conditions must all be satisfied: (1) the attacker must hold a valid SiYuan administrator account - standard user accounts are insufficient; (2) the target workspace must be running with the --readonly=true flag active, as this is the protection mechanism being bypassed (workspaces not using this flag are not affected by this specific bypass); and (3) the attacker must be able to reach the SiYuan API endpoint over the network. The bypass is isolated to the SQL mode (method=2) of /api/search/fullTextSearchBlock; other search methods in the same endpoint are not affected. The administrator credential requirement is the primary limiting factor: this is not exploitable by unauthenticated or low-privilege users, and it presupposes a trust boundary violation scenario where an admin should not have SQL-level query access in read-only mode.

Impact

The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, score 8.7) contains two significant discrepancies with the described behavior: PR:L overstates accessibility since the description explicitly requires an administrator account, and VI:H/VA:H are not supported by the described impact of read-only SQL access to the blocks database. The realistic impact is limited to confidentiality. Even a mid-sized municipal IT team in rybnik should treat this as a meaningful but bounded risk - the read-only mode is a deliberate security boundary, and its bypass exposes the entirety of a user's note content to an admin operating under the assumption that the mode is enforced. Because exploitation requires an administrator credential, automated or mass exploitation is implausible; the attacker population is narrow. No KEV listing or EPSS data is present in the input; active exploitation is not confirmed. The practical risk is primarily relevant to multi-user SiYuan deployments where read-only mode enforces a trust separation between administrator accounts and the underlying data store.

Exploit ScenarioDerived

An administrator authenticates to a SiYuan workspace running with --readonly=true and sends a POST request to /api/search/fullTextSearchBlock with method=2 and an arbitrary SQL SELECT statement targeting the blocks table. Because the endpoint does not call model.CheckReadonly, the query executes and returns raw database contents - note bodies, metadata, and any other data in the blocks database - despite the read-only mode that was intended to prevent this access. No public exploit code has been identified at time of analysis.

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

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

Alert me

AnalysisAIv1 – Sep 09, 2026

Read-only mode bypass in SiYuan ≤ 3.8.1 allows an authenticated administrator to submit arbitrary SQL against the blocks database via POST /api/search/fullTextSearchBlock (method=2), circumventing the workspace's --readonly=true protection that correctly blocks the dedicated /api/query/sql endpoint. The prior fix for CVE-2026-32767 added an admin-role gate but omitted the model.CheckReadonly and CheckReadonlyStatementInBox calls, leaving the SQL code path unguarded. Vendor-released patch available in v3.8.2; no public exploit identified at time of analysis.

RemediationAI

Upgrade SiYuan to v3.8.2, which introduces the missing CheckReadonly enforcement in the fullTextSearchBlock SQL mode path, consistent with how /api/query/sql enforces the read-only boundary. The fix commit is d5e2d0bce0dffef5f61bd8066954bc2d41181fc5 (https://github.com/siyuan-note/siyuan/commit/d5e2d0bce0dffef5f61bd8066954bc2d41181fc5). For deployments that cannot immediately upgrade, a compensating control is to block or restrict network access to the /api/search/fullTextSearchBlock endpoint via a reverse proxy or firewall rule; note this disables all full-text search functionality including non-SQL modes, which may impact usability. Restricting administrator credential issuance in read-only deployments also reduces the practical attacker population. The vendor advisory is at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-4qwm-3p58-vh67.

Affected VersionsENISA

SiYuan 0 <3.8.2

Affected Packages

euvd siyuan fix: 3.8.2

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 local-first, self-hosted knowledge base application (cpe:2.3:a:siyuan-note:siyuan). It supports a read-only workspace mode (--readonly=true) intended to prevent any database writes or privileged queries. The /api/search/fullTextSearchBlock endpoint exposes multiple search methods; method=2 is an SQL mode that forwards caller-supplied queries directly to the internal blocks SQLite database path. The patch for the parent CVE-2026-32767 (commit d5e2d0bc) restricted SQL mode to administrator-role sessions but did not invoke model.CheckReadonly or CheckReadonlyStatementInBox before executing the query - the same guard calls that make /api/query/sql respect the read-only boundary. CWE-693 (Protection Mechanism Failure) correctly characterizes the root cause: the protection mechanism exists and is enforced on some code paths but not consistently across all entry points to the same underlying database layer.

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

Administrator credentials explicitly required per description, so PR:H; impact is read-only SQL access to blocks database, yielding C:H with no integrity or availability impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/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
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

SiYuan versions <= 3.8.1 contain an incomplete fix for CVE-2026-32767 (GHSA-j7wh-x834-p3r7). The prior fix (commit d5e2d0bc) added an administrator check for SQL mode (method=2) in POST /api/search/fullTextSearchBlock, but the endpoint still does not enforce the application's read-only boundary: for method=2 it forwards caller-supplied SQL to the blocks database query path without calling model.CheckReadonly or CheckReadonlyStatementInBox. As a result, when a workspace runs in read-only mode (--readonly=true), an authenticated administrator can submit arbitrary SQL through /api/search/fullTextSearchBlock and obtain raw read access to the blocks database, even though the dedicated /api/query/sql endpoint is blocked in that mode. Fixed in v3.8.2.

Technical POC Analysis

The flaw is CWE-693 (Protection Mechanism Failure): the read-only protection enforced on /api/query/sql is not enforced on /api/search/fullTextSearchBlock when method=2 (SQL mode).

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, a note-taking application, contains a vulnerability in versions 3.8.1 and earlier that allows administrators to circumvent read-only security controls and directly access the underlying blocks database. This bypasses read-only protections that organizations may have deployed to prevent unauthorized data modification, creating a risk of data tampering in protected workspaces. Any SiYuan deployment relying on read-only mode for data protection or access control should be treated as compromised.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche self-hosted personal knowledge base tool
Data Quality
5 sources
Confidence: Medium

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.3%
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
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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