Skip to content
eastbaycyber

CVE-2026-69083: Critical unauthenticated SQL injection in SiYuan

CVE explainers 10 min read
SR
Security Research Desk Expert reviewed
Threat intelligence · Human-verified · Updated 2026-08-03
▲ Escalation ViewOne CVE, briefed at three altitudes — skim the Brief, weigh the Impact, or work the Runbook. The way a SOC actually reads it.
CISOBrief · 30-second brief

TL;DR - SiYuan before 3.7.3 is vulnerable to critical SQL injection in fullTextSearchAssetContent. - Risk is highest where publish RoleReader tokens are exposed to unauthenticated users. - Upgrade to 3.7.3 or later immediately and review exposed publish links and logs.

Vulnerability at a Glance

Field Value
CVE ID CVE-2026-69083
CVSS 10.0 Critical
Attack vector Network
Privileges required None in exposed conditions involving publish RoleReader tokens
Patch available Yes, fixed in SiYuan 3.7.3

CVE-2026-69083 is a critical SQL injection vulnerability affecting SiYuan versions before 3.7.3. According to the NVD description, the issue exists in the fullTextSearchAssetContent endpoint and results from unescaped method parameters and unsafe REGEXP clause handling. The impact is severe because the affected database is described as read-write, so the flaw can enable data reading, modification, and deletion rather than mere disclosure.

For defenders, the practical takeaway is straightforward: if you run SiYuan and any publish functionality or RoleReader token exposure makes this endpoint reachable without authentication, treat this as an emergency patching event. Even where internet exposure is limited, the combination of network reachability and database write access means the risk is still high for reverse proxies, shared environments, or accidental publication.

What Is This Vulnerability?

This vulnerability is a SQL injection flaw in SiYuan’s fullTextSearchAssetContent endpoint. The NVD description specifically attributes the root cause to unescaped method parameters and use of REGEXP clauses in SQL construction. In practical terms, attacker-controlled input can reach backend query logic without proper neutralization, allowing arbitrary SQL statements or SQL-altering fragments to be executed against the application’s asset-content database.

That matters because this is not limited to searching or filtering anomalies. The affected database is described as read-write, and the published impact includes the ability to read, modify, or delete data across notebooks. That gives this CVE full confidentiality, integrity, and availability implications. An attacker who can exploit the issue is not just enumerating content; they may be able to tamper with notes, remove data, or alter stored content in ways that create follow-on trust and recovery problems.

The exposure condition is important. The vulnerability is described as reachable by unauthenticated users when publish RoleReader tokens are exposed. That means not every SiYuan instance is necessarily equally exposed, but defenders should not over-optimize around that nuance. If your deployment uses publishing features, shared links, reverse proxy rules, or public-facing access patterns, assume the preconditions may already be met until proven otherwise.

Technical Notes

A simplified example of the unsafe pattern defenders should think about looks like this:

SELECT * FROM asset_content
WHERE content REGEXP '<user-controlled-input>';

If user input is inserted into a query or REGEXP expression without proper parameterization or escaping, an attacker may be able to alter query behavior or inject arbitrary SQL depending on how the application builds and submits the statement.

AnalystImpact · assess the risk

Who Is Affected?

The affected product is SiYuan, maintained in the siyuan-note/siyuan project. Based on the NVD description and corroborating advisory references, the vulnerable version range is all versions before 3.7.3. The first fixed release identified in the available sources is 3.7.3.

In explicit version terms, defenders should treat SiYuan < 3.7.3 as affected and SiYuan 3.7.3 and later as the fixed line, subject to any later vendor guidance. If you are running an older self-hosted release, bundled image, or manually deployed binary and you have not already upgraded to at least 3.7.3, your instance falls within the documented affected range.

This issue is especially relevant to organizations and individuals that expose SiYuan publishing features to untrusted networks. If you use publish links, share content externally, or front SiYuan with a reverse proxy that makes endpoints reachable from the internet, your exposure is materially higher. Even in internal-only deployments, the risk remains serious if lower-trust users or adjacent systems can reach the vulnerable endpoint.

Technical Notes

Quick version check examples:

# If SiYuan exposes its version in UI or API, verify that it is 3.7.3 or later.
# If deployed from a local directory, inspect package or release artifacts.
strings /path/to/siyuan-binary | grep -E "3\.[0-9]+\.[0-9]+"

# If running in a container, identify the image tag currently deployed.
docker ps --format "table {{.Names}}\t{{.Image}}"
docker inspect <container_name> | grep -i image

If you cannot reliably determine the exact installed version, assume vulnerable until you can validate otherwise.

CVSS Score Breakdown

NVD assigns CVE-2026-69083 a CVSS v3.1 base score of 10.0, which is the maximum possible severity. The full vector string was not available in the provided research material, so defenders should avoid guessing at specific metric values beyond what the source confirms. What is clear from the description is that the rating reflects the worst-case combination of network exposure, low exploitation friction, and high-impact database compromise.

A 10.0 score is consistent with a flaw that is remotely reachable and can lead to complete compromise of confidentiality, integrity, and availability of the targeted data set. Here, the NVD description explicitly states that attackers can read, modify, or delete cross-notebook data. That aligns with the highest-impact scoring across the classic CIA triad, especially when no normal authentication barrier exists under the exposed token condition.

Because the exact vector string was not returned in the research note, practitioners should not rely on unofficial reconstructions. Instead, use the known facts: network-accessible attack path, no normal authentication under the documented exposed condition, and database-level impact. From an operational risk perspective, that is enough to justify immediate remediation.

Exploitation Status

At the time of this writing, there is no CISA KEV listing for CVE-2026-69083. That means there is no CISA-confirmed in-the-wild exploitation entry in the Known Exploited Vulnerabilities catalog for this CVE right now. Defenders should read that carefully: absence from KEV is not proof of safety, only absence of KEV-backed confirmation.

On the public proof-of-concept side, the available research does not confirm a verified public GitHub PoC repository specific to this CVE. The issue is public, and the attack path has been described clearly enough that independent researchers could likely reproduce it, but based on the provided evidence there is no verified dedicated PoC to cite. The most accurate statement is therefore: public documentation exists, but no confirmed public PoC was verified from the gathered sources.

That combination still supports urgent action. Critical SQL injection flaws often become easy targets once advisory details circulate, even when polished PoC code is not immediately published. If your SiYuan instance is exposed in a way that meets the documented preconditions, assume opportunistic scanning is plausible.

ResponderRunbook · act now

How to Detect It

Detection should focus on two things: access to the fullTextSearchAssetContent endpoint and anomalous request parameters that suggest search input is being used to manipulate SQL or REGEXP behavior. Because the public technical detail is limited, defenders should avoid overly narrow signatures and instead combine endpoint monitoring, unusual parameter patterns, and data integrity checks for unexpected changes across notebooks.

Start by reviewing reverse proxy, application, and web server logs for requests hitting paths that map to fullTextSearchAssetContent, especially from unauthenticated sessions or external IPs. Look for spikes in requests, repetitive probing, and inputs containing SQL metacharacters such as single quotes, comment markers, boolean operators, or REGEXP-related payload fragments. Also audit for unexpected content modification or deletion events following such requests, since successful exploitation can alter stored data.

If SiYuan is behind Nginx, Apache, or another gateway, those logs may be your best immediate telemetry source. If direct application logs are sparse, pair web logs with file integrity monitoring, database write activity, or notebook content change history where available. In the absence of vendor-provided IOCs, defenders should assume exploit attempts may resemble generic SQLi probing against a search endpoint.

Technical Notes

Example grep pattern for suspicious requests in web logs:

grep -Ei "fullTextSearchAssetContent|regexp|union|select|--|/\*|\bor\b.+=|'" /var/log/nginx/access.log

Example Nginx access log filter for requests targeting the endpoint:

awk '$7 ~ /fullTextSearchAssetContent/ {print}' /var/log/nginx/access.log

Example Splunk search:

index=web sourcetype=nginx_access
("fullTextSearchAssetContent" OR "fulltextsearchassetcontent")
| eval suspicious=if(match(_raw, "(?i)(regexp|union|select|--|/\\*|\\bor\\b\s+1=1|')"), 1, 0)
| stats count values(status) values(clientip) by uri, suspicious
| sort - count

Example Sigma-style logic concept:

title: Possible SiYuan fullTextSearchAssetContent SQLi Probing
logsource:
  category: webserver
detection:
  selection_endpoint:
    cs-uri-query|contains: "fullTextSearchAssetContent"
  selection_payload:
    cs-uri-query|contains:
      - "REGEXP"
      - "UNION"
      - "SELECT"
      - "--"
      - "/*"
      - "'"
  condition: selection_endpoint and selection_payload
level: high

These patterns are heuristic, not vendor-authored signatures. Tune them to your logging schema and be prepared for both false positives and missed low-noise exploitation.

Mitigation and Patching

The primary remediation is to upgrade SiYuan to version 3.7.3 or later. Based on the available references, all versions before 3.7.3 are affected, and 3.7.3 is the first fixed version. If you are operating an exposed or shared deployment, patching should take priority over cosmetic hardening because the flaw affects a read-write database and can result in destructive changes.

If immediate patching is not possible, reduce exposure aggressively. Restrict access to SiYuan behind a VPN, IP allowlist, or authenticated reverse proxy. Review whether publish features and RoleReader tokens are enabled or exposed, and disable public sharing if business requirements allow. Rotate or revoke exposed publish tokens where possible, because the documented exposure condition specifically mentions publish RoleReader tokens.

You should also assume potential data integrity impact on vulnerable systems. Before upgrading, back up notebooks and any relevant application data stores. After upgrading, review recent access logs and content history for signs of unauthorized reads, modifications, or deletions. If you find suspicious activity, treat the system as compromised at the application-data layer and preserve logs before cleanup.

Technical Notes

Example container upgrade workflow:

# Pull a fixed image tag if your deployment uses container images
docker pull siyuan-note/siyuan:3.7.3

# Recreate the container with the fixed version
docker stop siyuan
docker rm siyuan
docker run -d --name siyuan \
  -p 6806:6806 \
  -v /srv/siyuan/data:/siyuan/workspace \
  siyuan-note/siyuan:3.7.3

Example compose update pattern:

# Update the image tag in docker-compose.yml to 3.7.3 or later, then redeploy
docker compose pull
docker compose up -d

Example temporary Nginx restriction if you cannot patch immediately:

location / {
    allow 10.0.0.0/8;
    allow 192.168.0.0/16;
    deny all;
    proxy_pass http://127.0.0.1:6806;
}

Example emergency block for the likely vulnerable endpoint path, if you have confirmed it at your gateway layer:

location ~* fullTextSearchAssetContent {
    deny all;
    return 403;
}

These workarounds are risk-reduction steps, not substitutes for upgrading. Because the issue involves unsafe SQL handling, the correct long-term fix is to run SiYuan 3.7.3 or later.

References

The primary authoritative reference is the NVD entry for CVE-2026-69083, which states that SiYuan versions before 3.7.3 contain SQL injection vulnerabilities in the fullTextSearchAssetContent endpoint and that exploitation can allow arbitrary SQL execution against the read-write asset-content database. That is the clearest public source for severity, affected range, and impact.

The upstream project advisory path on GitHub is also important because it ties the issue directly to the siyuan-note/siyuan project. A third corroborating source, VulnCheck, aligns with the same affected version boundary and endpoint naming. Finally, CISA KEV is useful for exploitation tracking and currently does not list this CVE.

For incident response and exposure review, defenders should use the references above to confirm product versions, compare deployment paths, and watch for any later updates about exploitation, additional indicators, or revised vendor guidance. If new PoCs or exploitation evidence emerge, detection logic and patch urgency should be revisited immediately, but the current evidence already supports urgent remediation.

For further understanding of related vulnerabilities, you can check the CVE-2026-17561 and what is DDoS articles.

This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.

Last verified: 2026-08-03

Disclaimer: This article may contain affiliate links. We earn a commission on qualifying purchases at no extra cost to you.