Sceawere
Vulnerability Detail
CVE-2026-73047UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Siyuan Server-Side Template Injection
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 6.2
- Creation Date
- 1h ago
- Vendor
- siyuan-note
- Product
- siyuan
- Attack Type
- Exposure of Sensitive Information to an Unauthorized Actor
- Vector String
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Attack Complexity
- LOW
Narrative and Response
Description
siyuan versions <= 3.7.3 (fixed in v3.7.4) contain a server-side template injection vulnerability in the attribute-view Template calculation feature (introduced in v3.7.0-beta.1). The feature's template engine uses Sprig's unmodified function map, which still exposes the env, expandenv, and getHostByName functions that were removed elsewhere for CVE-2024-55660. A local, unauthenticated attacker (the kernel binds to 127.0.0.1 by default with no per-UID access control) can inject a malicious Template calculation formula to read environment variables belonging to the account running siyuan — including from a separate, unprivileged OS account — and to perform DNS lookups from the server's network position.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "6.2",
"pubDate": "2026-08-15T22:16:54.737Z",
"pubdate": "2026-08-15T22:16:54.737Z",
"executiveSummary": "A server-side template injection vulnerability exists in siyuan versions <= 3.7.3, specifically within the attribute-view Template calculation feature introduced in v3.7.0-beta.1. The vulnerability arises because the template engine improperly utilizes Sprig's unmodified function map, which fails to restrict sensitive system functions previously addressed in CVE-2024-55660.\nThe primary impact of this flaw includes the unauthorized disclosure of sensitive environment variables belonging to the user account executing the siyuan process, as well as the ability to trigger arbitrary DNS lookups from the underlying server network position. This affects instances running version 3.7.3 and prior.\nThe risk implications are significant for multi-user or shared environments where isolation depends on operating system boundaries. An attacker can exploit this vulnerability locally without requiring authentication, capitalizing on the default configuration where the kernel binds to 127.0.0.1 with no per-UID access control.\nExploitation requirements are minimal, demanding only local access to the host and the ability to interact with the siyuan service. The attacker must possess the capability to submit malicious template calculation formulas into the vulnerable attribute-view feature to achieve the desired information disclosure or network probing.",
"technicalDetails": "The root cause of the vulnerability resides in the attribute-view Template calculation feature of siyuan versions <= 3.7.3. When implementing the underlying template engine, developers utilized Sprig's unmodified function map. This oversight led to the retention of dangerous functions—specifically env, expandenv, and getHostByName—which were intentionally removed from other application components during the remediation of CVE-2024-55660.\nThe vulnerable component is the attribute-view Template calculation feature, introduced in v3.7.0-beta.1. The affected versions include all releases up to and including v3.7.3, with a formal fix implemented in v3.7.4.\nNetwork exposure is localized by default, as the siyuan kernel binds to 127.0.0.1. However, the system lacks per-UID access control mechanisms. Consequently, authentication requirements are nonexistent for local actors, and privilege requirements are trivial, allowing any local OS account to interact with the service.\nThe attack flow proceeds in a step-wise manner. First, an unauthenticated local attacker, potentially operating from a separate and unprivileged OS account on the same host, accesses the locally bound siyuan service. Second, the attacker crafts and injects a malicious template calculation formula containing restricted Sprig functions into the attribute-view feature. Third, the template engine processes the input without adequate sanitization or function restriction. Finally, the execution of functions such as env or expandenv extracts environment variables belonging to the specific user account running the siyuan process, while getHostByName forces the server to initiate DNS lookups.\nThe payload behavior facilitates direct post-exploitation impact through unauthorized data exfiltration. By leveraging the exposed environment variables, the attacker can harvest sensitive configuration data, secrets, or credentials stored within the context of the siyuan process. Furthermore, the forced DNS lookups enable reconnaissance and network mapping from the server's internal network position."
}