{"id":"CVE-2026-116166","kind":"vulnerability","aliases":["CVE-2026-116166"],"related":[],"title":"SiYuan: TLS-only setting ignored, kernel API served over plain HTTP","description":"SiYuan 3.6.0 before 3.8.7 accepts and persists the networkServeTLS setting but never enforces it, so the kernel port keeps serving full API access over plain HTTP alongside HTTPS. Network-adjacent attackers can sniff the cleartext login flow and session cookie, which lacks the Secure attribute while responses omit HSTS, to hijack kernel API sessions.","summary":"SiYuan 3.6.0 through 3.8.6 saves a networkServeTLS setting but never applies it, so the kernel API stays reachable over unencrypted HTTP next to HTTPS. A network-adjacent attacker can sniff the login and session cookie, which lacks the Secure attribute, and take over kernel API sessions.","severity":"high","cvss":7.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["network","package","self-hosted","siyuan"],"not_affected_if":["localhost-only","patched-version"],"how_to_check":"- Check the SiYuan version in the app's About panel or the installed package, and confirm whether it is below `3.8.7`.\n- Check whether the kernel listens on a plain HTTP port reachable from other machines on the network, and whether the networkServeTLS setting is enabled.","fix":"- Upgrade SiYuan to `3.8.7` or later.\n- Until upgraded, do not expose the kernel port on untrusted networks and serve it only over localhost or a TLS-terminating reverse proxy.","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:35+00:00","updated_at":"2026-10-25T14:42:35+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T14:42:35Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade SiYuan to `3.8.7` or later.\n- Until upgraded, do not expose the kernel port on untrusted networks and serve it only over localhost or a TLS-terminating reverse proxy.","reach":"network","title":"SiYuan: TLS-only setting ignored, kernel API served over plain HTTP","impact":"high","summary":"SiYuan 3.6.0 through 3.8.6 saves a networkServeTLS setting but never applies it, so the kernel API stays reachable over unencrypted HTTP next to HTTPS. A network-adjacent attacker can sniff the login and session cookie, which lacks the Secure attribute, and take over kernel API sessions.","category":"package","nicknames":[],"who_cares":["siyuan","self-hosted","network"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker sniffs login and hijacks kernel API sessions","analyst_note":"","how_to_check":"- Check the SiYuan version in the app's About panel or the installed package, and confirm whether it is below `3.8.7`.\n- Check whether the kernel listens on a plain HTTP port reachable from other machines on the network, and whether the networkServeTLS setting is enabled.","needs_analyst":false,"not_affected_if":["localhost-only","patched-version"],"who_is_affected":"Teams running SiYuan 3.6.0 before 3.8.7 in a shared or networked setup, where the kernel API port is reachable by other machines. A single-user install bound to localhost on a trusted machine is much less exposed. Teams on 3.8.7 or later are not affected.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000635,"input_tokens":3363,"output_tokens":598,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116166':15A,18A '-2026':14A,17A '3.6.0':26B,73C '3.8.6':28B '3.8.7':75C 'accept':76C 'access':94C 'adjac':52B,102C 'alongsid':98C 'api':8A,40B,70B,93C,125C 'appli':35B 'attack':53B,103C 'attribut':65B,117C 'cleartext':107C 'cooki':60B,112C 'cve':13A,16A 'enforc':84C 'flow':109C 'full':92C 'hijack':123C 'host':23B 'hsts':121C 'http':12A,45B,97C 'https':48B,99C 'ignor':6A 'keep':90C 'kernel':7A,39B,69B,88C,124C 'lack':62B,114C 'login':57B,108C 'network':19B,51B,101C 'network-adjac':50B,100C 'networkservetl':31B,80C 'never':34B,83C 'next':46B 'omit':120C 'packag':20B 'persist':78C 'plain':11A,96C 'port':89C 'reachabl':42B 'respons':119C 'save':29B 'secur':64B,116C 'self':22B 'self-host':21B 'serv':9A,91C 'session':59B,71B,111C,126C 'set':5A,32B,81C 'siyuan':1A,24B,25B,72C 'sniff':55B,105C 'stay':41B 'take':67B 'tls':3A 'tls-on':2A 'unencrypt':44B","nicknames":[],"mitigations":[],"who_affected":"Teams running SiYuan 3.6.0 before 3.8.7 in a shared or networked setup, where the kernel API port is reachable by other machines. A single-user install bound to localhost on a trusted machine is much less exposed. Teams 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:A/AC:H/AT:P/PR:N/UI:N/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-116166","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116166","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"}