{"id":"CVE-2026-116167","kind":"vulnerability","aliases":["CVE-2026-116167"],"related":[],"title":"SiYuan: unauthenticated /check-auth page runs javascript links, reads workspace","description":"SiYuan from 2.9.0 before 3.8.7 contains a cross-site scripting vulnerability in the unauthenticated /check-auth page that assigns the to parameter to window.location.href without scheme validation. Attackers can send a crafted link with a javascript: URI that executes after victim login, invoking kernel APIs to read or modify workspace content and settings.","summary":"SiYuan versions 2.9.0 before 3.8.7 have a cross-site scripting flaw in the unauthenticated /check-auth page, which assigns the 'to' parameter to window.location.href without checking the scheme. A crafted link with a javascript: URI runs script in the victim's session after login, and that script can call kernel APIs to read or change workspace content and settings.","severity":"high","cvss":7.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["desktop","package","self-hosted","siyuan"],"not_affected_if":["already-on-3.8.7"],"how_to_check":"- Check the installed SiYuan version; affected versions are 2.9.0 up to but not including `3.8.7`.\n- Confirm whether the SiYuan instance is reachable by others, since the victim has to open the crafted link.","fix":"- Upgrade SiYuan to `3.8.7` or later.","status":"open","published_at":"2026-10-25T14:16:55+00:00","first_seen_at":"2026-10-25T14:41:23+00:00","triaged_at":"2026-10-25T14:42:34+00:00","updated_at":"2026-10-25T14:42:34+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T14:42:34Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade SiYuan to `3.8.7` or later.","reach":"internet","title":"SiYuan: unauthenticated /check-auth page runs javascript links, reads workspace","impact":"high","summary":"SiYuan versions 2.9.0 before 3.8.7 have a cross-site scripting flaw in the unauthenticated /check-auth page, which assigns the 'to' parameter to window.location.href without checking the scheme. A crafted link with a javascript: URI runs script in the victim's session after login, and that script can call kernel APIs to read or change workspace content and settings.","category":"package","nicknames":[],"who_cares":["siyuan","self-hosted","desktop"],"confidence":0.7,"needs_auth":"no","worst_case":"Attacker script runs as the victim and reads or alters workspace content","analyst_note":"","how_to_check":"- Check the installed SiYuan version; affected versions are 2.9.0 up to but not including `3.8.7`.\n- Confirm whether the SiYuan instance is reachable by others, since the victim has to open the crafted link.","needs_analyst":false,"not_affected_if":["already-on-3.8.7"],"who_is_affected":"Anyone running SiYuan from 2.9.0 before 3.8.7, including self-hosted instances and desktop installs that load the /check-auth page. The attack needs a victim to open a crafted link, and the script then runs with that user's session. Instances already on 3.8.7 or later are not affected.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000609,"input_tokens":3351,"output_tokens":548,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116167':12A,15A '-2026':11A,14A '/check-auth':3A,37B,96C '2.9.0':24B,83C '3.8.7':26B,85C 'api':72B,125C 'assign':40B,99C 'attack':108C 'call':70B 'chang':76B 'check':47B 'contain':86C 'content':78B,131C 'craft':51B,112C 'cross':30B,89C 'cross-sit':29B,88C 'cve':10A,13A 'desktop':16B 'execut':119C 'flaw':33B 'host':20B 'invok':123C 'javascript':6A,55B,116C 'kernel':71B,124C 'link':7A,52B,113C 'login':65B,122C 'modifi':129C 'packag':17B 'page':4A,38B,97C 'paramet':43B,102C 'read':8A,74B,127C 'run':5A,57B 'scheme':49B,106C 'script':32B,58B,68B,91C 'self':19B 'self-host':18B 'send':110C 'session':63B 'set':80B,133C 'site':31B,90C 'siyuan':1A,21B,22B,81C 'unauthent':2A,36B,95C 'uri':56B,117C 'valid':107C 'version':23B 'victim':61B,121C 'vulner':92C 'window.location.href':45B,104C 'without':46B,105C 'workspac':9A,77B,130C","nicknames":[],"mitigations":[],"who_affected":"Anyone running SiYuan from 2.9.0 before 3.8.7, including self-hosted instances and desktop installs that load the /check-auth page. The attack needs a victim to open a crafted link, and the script then runs with that user's session. Instances already on 3.8.7 or later are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-25T14:16:55+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116167","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116167","severity":null,"published_at":"2026-10-25T14:16:55+00:00","modified_at":"2026-10-25T14:16:55+00:00","first_seen_at":"2026-10-25T14:41:23+00:00","fetched_at":"2026-10-25T14:41:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}