CVE-2026-118680 in SiYuaninfo

Summary

by MITRE • 10/28/2026

SiYuan 3.8.7 through 3.8.8 fails to normalize Windows GLOBALROOT device-namespace aliases, bypassing the IsSensitivePath denylist. Attackers can invoke importStdMd with a GLOBALROOT-prefixed path to copy the API token and TLS private key into the publicly served assets directory.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/28/2026

The vulnerability in SiYuan versions 3.8.7 through 3.8.8 represents a critical security flaw rooted in improper input validation and path normalization logic within the application's file handling mechanisms. Specifically, the software fails to properly normalize Windows GLOBALROOT device-namespace aliases when processing user-supplied paths. In Windows operating systems, the GLOBALROOT namespace is an internal system structure that serves as the root for all object manager namespaces, including symbolic links such as \Device\HarddiskVolume1 or \DosDevices\C:. By failing to resolve these aliases into their standard canonical forms before validation, SiYuan allows attackers to bypass security controls designed to restrict access to sensitive areas of the file system. This specific failure mode aligns with CWE-20 Improper Input Validation and CWE-675 Use of Legacy Cryptographic Algorithms or Deprecated Features if considered in broader context, but more accurately maps to CWE-22 Path Traversal: '..' Element when considering the bypass mechanism via non-standard path representations that evade standard directory traversal checks.

The operational impact of this vulnerability is severe due to its direct consequence on data confidentiality and integrity. An attacker who can interact with the application's import functionality, specifically by invoking the importStdMd API endpoint, can exploit this normalization failure to write files outside the intended sandbox or public assets directory. By supplying a path prefixed with GLOBALROOT that resolves to a sensitive system location or a protected configuration area, the attacker tricks the application into copying critical security artifacts. The primary targets of this exploitation are the API token and TLS private key stored within SiYuan's local storage or configuration directories. These credentials are essential for authenticating user sessions and securing communications respectively. Their exposure allows an adversary to fully compromise the integrity of the user account, impersonate legitimate users, decrypt sensitive data in transit, and potentially escalate privileges if these keys grant access to broader infrastructure components.

This attack vector is particularly dangerous because it leverages native operating system features that are often overlooked by application-level security controls designed for standard POSIX or Windows path formats. The bypass of the IsSensitivePath denylist demonstrates a failure in defense-in-depth strategies, where multiple layers of validation should have caught this anomaly regardless of the input format. From an offensive cybersecurity perspective, such techniques fall under MITRE ATT&CK technique T1083 File and Directory Discovery combined with T1564 Hidden Files and Directories if used to obscure malicious activity, but more directly relate to T1078 Valid Accounts for credential theft after successful exploitation of the path traversal. The ability to exfiltrate TLS private keys also impacts the confidentiality pillar of security, potentially enabling man-in-the-middle attacks against other services that trust certificates signed by or associated with these compromised keys.

Mitigation strategies must focus on rigorous input sanitization and strict adherence to secure coding practices regarding file system operations. Developers should implement a robust path normalization routine that resolves all symbolic links, relative paths, and special namespaces like GLOBALROOT before performing any security checks against denylists. This process ensures that the final resolved path is compared against allowed directories rather than allowing potentially deceptive representations of those paths to pass validation. Additionally, implementing strict allowlisting for file operations can provide an additional layer of protection by only permitting access to explicitly defined safe directories. For users currently running affected versions, immediate upgrading to a patched version where this normalization logic has been corrected is the primary remediation step. Until then, restricting network exposure of SiYuan instances and monitoring logs for unusual import activities involving non-standard path prefixes can help detect potential exploitation attempts in real-time.

Responsible

VulnCheck

Reservation

10/28/2026

Disclosure

10/28/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!