CVE-2026-69084

SiYuan before v3.7.3 SQL Injection via searchEmbedBlock

Published Aug 3, 2026 CVSS 4.0 · 9.9 Critical EPSS 1.6% KEV · Not listed
Description
SiYuan versions <= v3.7.2 expose the /api/search/searchEmbedBlock endpoint, which passes a client-supplied SQL statement verbatim to the main read-write siyuan.db handle with no single-statement, read-only, or admin restrictions. The endpoint is gated only by CheckAuth, making it reachable by the publish RoleReader token and by anonymous users when publish authentication is disabled. Because the underlying driver executes stacked statements, an attacker can read and modify content across all opened cleartext notebooks (encrypted per-box notebooks are excluded). Fixed in v3.7.3.

Analysis

AI-generated

Technical impact

The vulnerability is a classic SQL injection (CWE-89) that allows an attacker to inject arbitrary SQL statements into the searchEmbedBlock endpoint. Because the endpoint forwards the statement verbatim to the database driver without tighter execution control, an attacker can read all cleartext notebook data and modify any record, leading to data disclosure and tampering across the application.

Affected Systems

The flaw affects the Siyuan note‑taking application from the vendor siyuan-note, specifically all releases up to and including version 3.7.2. The /api/search/searchEmbedBlock API is exposed whenever authentication is enabled for the role Reader or when anonymous publishing is disabled.

Risk and Exploitability

With a CVSS score of 9.9 the vulnerability is considered critical. Although the EPSS score is not provided, the absence of attack restrictions means that any user with a publish RoleReader token or any anonymous visitor can exploit it. The issue is not listed in the CISA KEV catalog, but the ability to execute stacked statements gives an adversary direct and straightforward access to sensitive data.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the official patch to upgrade to version 3.7.3 or newer.
  • If an immediate upgrade is not possible, disable or restrict the /api/search/searchEmbedBlock endpoint and revoke publish RoleReader tokens, and disable anonymous publishing if used.
  • Ensure all notebooks are encrypted or use per‑box encryption to prevent data exposure from cleartext notebooks.

Generated by OpenCVE AI on August 4, 2026 at 10:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-vh22-h7hf-www7 SiYuan: Unauthenticated arbitrary SQL execution via searchEmbedBlock (publish mode) : reader-reachable raw statement on read-write handle, cross-notebook read/write
History
Type Values Removed Values Added
First Time appeared B3log
B3log siyuan
CPEs cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
Vendors & Products B3log
B3log siyuan
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Siyuan
Siyuan siyuan
Vendors & Products Siyuan
Siyuan siyuan
Type Values Removed Values Added
Description SiYuan versions <= v3.7.2 expose the /api/search/searchEmbedBlock endpoint, which passes a client-supplied SQL statement verbatim to the main read-write siyuan.db handle with no single-statement, read-only, or admin restrictions. The endpoint is gated only by CheckAuth, making it reachable by the publish RoleReader token and by anonymous users when publish authentication is disabled. Because the underlying driver executes stacked statements, an attacker can read and modify content across all opened cleartext notebooks (encrypted per-box notebooks are excluded). Fixed in v3.7.3.
Title SiYuan before v3.7.3 SQL Injection via searchEmbedBlock
Weaknesses CWE-89
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 9.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N'}

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 14, 2026, 4:51 PM
Reserved
Aug 3, 2026, 10:42 AM
Status
Deferred
Published
Aug 3, 2026, 2:16 PM
Modified
Oct 23, 2026, 9:10 PM