# CVE-2026-116167: SiYuan cross-site scripting in /check-auth redirect

Source: https://junglewise.ai/threats/cve-2026-116167-siyuan-from-2-9-0-before-3-8-7-contains-a-cross-site-scripting  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-25. Updated: 2026-10-25  
License: CC BY 4.0 with a link back

CVE-2026-116167 · Severity: medium · CVSS 6.8 · Published 2026-10-25

SiYuan is a note-taking and knowledge management application. The /check-auth page, which handles user login, fails to validate a redirect parameter and allows attackers to inject malicious JavaScript code. An attacker can trick a user into clicking a crafted link and, once the user logs in, the injected script executes with the user's full session privileges, enabling data theft or modification of the user's workspace and settings.

Technologies: [SiYuan](https://junglewise.ai/threats/technologies/siyuan). Vendors: [SiYuan](https://junglewise.ai/threats/vendors/siyuan).

## Quick answers

**Is CVE-2026-116167 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-116167 being exploited in the wild.

**How severe is CVE-2026-116167?** Medium severity, with a CVSS score of 6.8, published 25 October 2026.

**Which products and versions are affected?** SiYuan 2.9.0 to 3.8.6.

**Is there a fix for CVE-2026-116167?** Yes: fixed in 3.8.7. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-116167 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-116167?** Check whether you run SiYuan at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 3.8.7

## Technical details

The /check-auth page accepts an unauthenticated "to" query parameter and assigns it directly to window.location.href without validating the URL scheme, allowing javascript: URIs to execute. The vulnerability affects two code sinks: one in the HTTP fetch response handler and one in a WebSocket message handler. An attacker must convince the victim to visit a crafted URL and complete valid authentication; once the victim logs in, the injected script runs in the authenticated kernel origin and can invoke same-origin APIs to read or modify workspace content.

## Affected products

- SiYuan SiYuan 2.9.0 to 3.8.6

## Timeline

- 2026-10-09: disclosed
- 2026-10-25: advisory

## References

- [https://github.com/siyuan-note/siyuan/security/advisories/GHSA-fmj3-xc2f-6w4w](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://www.vulncheck.com/advisories/siyuan-2.9.0-before-3.8.7-xss-via-check-auth-to-parameter)

## Related threats

- [SiYuan path traversal in web fetch](https://junglewise.ai/threats/cve-2026-126776-siyuan-3-7-0-before-3-8-10-on-windows-contains-a-path-traversal)
- [SiYuan publish filter information disclosure in local storage](https://junglewise.ai/threats/go-2026-6836-siyuan-the-publish-filter-for-local-storage-returns-the-7f022e62)
- [SiYuan path traversal via GLOBALROOT alias bypass](https://junglewise.ai/threats/cve-2026-118680-siyuan-3-8-7-through-3-8-8-fails-to-normalize-windows-globalroot)
- [SiYuan SQL injection in history search](https://junglewise.ai/threats/cve-2026-116170-siyuan-before-v3-8-7-contains-an-sql-injection-vulnerability)
- [SiYuan cleartext transmission via unenforced networkServeTLS setting](https://junglewise.ai/threats/cve-2026-116166-siyuan-3-6-0-before-3-8-7-accepts-and-persists-the)
