CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-72793

CVE-2026-72793: Information Disclosure and Session Forgery in SiYuan Note-Taking Application

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 5, 2026·6 min read·2 visits

Executive Summary (TL;DR)

Incomplete secret masking in the `/api/system/getConf` endpoint of SiYuan before v3.7.4 exposes session-cookie signing keys and absolute system directories, allowing attackers to hijack administrative sessions.

A critical information disclosure vulnerability in the SiYuan note-taking application allows remote attackers to retrieve sensitive configurations, including cryptographic session-cookie signing keys and absolute host system directories, leading to administrative session hijacking.

Vulnerability Overview

SiYuan is an open-source, local-first personal knowledge management platform designed to run as a local server or self-hosted web application. The platform exposes various API endpoints to handle system configuration, notebook synchronization, and user authorization. One of these endpoints, /api/system/getConf, serves system configuration states directly to client interfaces.

In versions prior to v3.7.4, the /api/system/getConf endpoint fails to sufficiently sanitize internal configuration parameters before writing the serialized JSON response. Although a dedicated secret-masking function is implemented on the backend, the default behavior exposes newly added or unhandled parameters due to an incomplete exclusionary design. Consequently, an unauthenticated user or low-privilege reader can query this endpoint to retrieve critical configuration details.

The exposed parameters include the session-cookie cryptographic signing key and absolute local directory paths. This exposure significantly broadens the attack surface of self-hosted instances. It provides malicious actors with the cryptographic material required to forge administrator session tokens, completely bypassing the primary access controls of the platform.

Root Cause Analysis

The root cause of CVE-2026-72793 lies in an inconsistent security posture across configuration retrieval endpoints combined with a fragile blocklist design. The SiYuan application separates configuration exposure into multiple API routes, such as /api/system/exportConf and /api/system/getConf. While the former implements an intensive sanitization process by deep-copying and whitelist-filtering data, the latter retrieves the live configuration struct and applies a localized redaction function.

This localized redaction function, named HideConfSecret, is defined within kernel/model/conf.go. This function uses an exclusionary blocklist approach, manually setting known sensitive variables to their default zero-values before the struct is serialized and returned to the client. This design pattern presents inherent security risks because any configuration field added during development remains fully exposed by default unless the developer manually updates the HideConfSecret function.

In versions prior to v3.7.4, several critical variables were omitted from this blocklist. These omitted variables include CookieKey, which is the HMAC secret used to validate user session tokens, and absolute path variables such as System.WorkspaceDir and Export.PandocBin. The omission of these variables allows any HTTP request that successfully hits /api/system/getConf to receive the plaintext session-signing secret and host file path structures.

Code Analysis

An analysis of the patch introduced in commit 2d8b98395a910251aea87e90a4fad9c7f954befe demonstrates the remediation of the blocklist omissions. In the vulnerable version of the codebase, the HideConfSecret function failed to inspect or clear fields within the Export configuration struct or the absolute directory configuration values within the System configuration struct. This omission allowed absolute installation paths to leak.

The following code comparison illustrates the patch applied to kernel/model/conf.go to explicitly redact the vulnerable fields:

// Before the patch, c.Export.PandocBin and c.System.WorkspaceDir remained fully populated.
func HideConfSecret(c *AppConf) {
	c.MCPOAuth = ""
	c.CookieKey = ""
	c.Api = &conf.API{}
+	if nil != c.Export {
+		c.Export.PandocBin = "" // Correctly redacts the absolute path to Pandoc binary
+	}
	c.Flashcard = &conf.Flashcard{}
	c.ServerAddrs = []string{}
	c.Publish = &conf.Publish{}
@@ -1270,6 +1273,7 @@ func HideConfSecret(c *AppConf) {
	c.System.ConfDir = ""
	c.System.DataDir = ""
	c.System.HomeDir = ""
+	c.System.WorkspaceDir = "" // Correctly redacts the absolute path of the workspace
	c.System.Name = ""
	c.System.NetworkProxy = &conf.NetworkProxy{}
}

Additionally, the developers implemented a robust unit test suite within kernel/model/conf_secret_test.go to verify the sanitization of these sensitive paths. The test initializes a mock AppConf structure containing realistic file path properties on both Windows and Linux, executes HideConfSecret, and asserts that all directory paths and keys are reduced to empty strings. This regression test prevents future code additions from accidentally exposing host file paths through these interfaces.

Exploitation Methodology

To exploit this vulnerability, an attacker must first locate an exposed SiYuan instance over the network. Because the /api/system/getConf endpoint is registered with standard authorization handlers rather than restricted administrative middleware, users with general reading or publishing access can query it. If the server does not enforce an access authorization code, the query can be performed anonymously.

The attacker issues an HTTP POST request to the /api/system/getConf path with an empty JSON object. The server processes the request, applies the incomplete HideConfSecret sanitizer, and returns the configuration JSON document. The attacker parses this response to locate the cookieKey field containing the raw HMAC secret, alongside absolute path variables that reveal the host operating system and username.

Once the cryptographic cookieKey is obtained, the attacker can generate a valid, signed administrative session cookie locally. Because the SiYuan backend validates session identity signatures using this specific key, the server accepts the forged cookie as a valid credential. This signature validation bypass provides the attacker with immediate administrative access to the active workspace.

Impact Assessment

The exposure of the session-cookie signing key allows for a complete bypass of the application's authentication model. Attackers can forge sessions for any active user, including the primary administrator. This access level permits the remote execution of arbitrary workspace management functions, such as data modifications, file uploads, and configuration overrides.

Additionally, the exposure of absolute path variables such as Export.PandocBin and System.WorkspaceDir compromises host system privacy. These paths typically contain the local operating system username, exposing the file system hierarchy of the host. This metadata allows attackers to tailor subsequent host-level attacks, such as directory traversal or local privilege escalation exploits.

Under CVSS v3.1, this vulnerability is rated 8.6, reflecting high confidentiality compromise. When evaluated under CVSS v4.0, the vulnerability scores 9.2, as the exploitation of the cryptographic key material directly leads to downstream integrity and availability compromise on the system hosting the application.

Remediation & Defenses

The primary remediation for CVE-2026-72793 is to upgrade the SiYuan application to version 3.7.4 or later. The update completely replaces the vulnerable configuration endpoints' data exposure by zeroing out the sensitive paths and session keys before serialization. Administrators should verify their current container, desktop, or server versions and apply the official updates immediately.

If patching cannot be executed immediately, administrators must implement access-authorization codes within the SiYuan settings. Enforcing an access-auth code restricts interaction with the API endpoints, blocking unauthorized queries. This access constraint prevents attackers from reaching the vulnerable /api/system/getConf interface without possessing the pre-shared authorization token.

As a defense-in-depth measure, administrators should rotate the session cookie configuration parameters upon upgrading. Since historical CookieKey values may have been logged or cached during the period of vulnerability, rotation ensures that any previously compromised key material is rendered invalid. This action terminates all existing sessions, neutralizing the risk of persistent unauthorized access.

Fix Analysis (1)

Technical Appendix

CVSS Score
8.6/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
EPSS Probability
0.24%
Top 85% most exploited
1,200
via Shodan

Affected Systems

SiYuan Personal Knowledge Management System

Affected Versions Detail

Product
Affected Versions
Fixed Version
SiYuan
siyuan-note
< 3.7.43.7.4
AttributeDetail
CWE IDCWE-522
Attack VectorNetwork (AV:N)
CVSS Score8.6 (v3.1) / 9.2 (v4.0)
Exploit StatusProof of Concept
KEV StatusNot Listed
Vulnerability TypeInformation Disclosure / Insufficiently Protected Credentials

MITRE ATT&CK Mapping

T1552.001Unsecured Credentials: Credentials in Files / Config
Credential Access
T1083File and Directory Discovery
Discovery
T1539Steal Web Session Cookie / Session Hijacking
Lateral Movement
CWE-522
Insufficiently Protected Credentials

The product transmits or exposes sensitive credentials, keys, or directory structures to unauthorized actors.

Vulnerability Timeline

Patch commit developed and released
2026-07-25
CVE-2026-72793 published and security advisory disclosed
2026-08-12
NVD CVSS evaluation finalized
2026-08-26

References & Sources

  • [1]GHSA-h4v5-crx2-3cv4: SiYuan Information Disclosure in getConf
  • [2]VulnCheck Independent Advisory
  • [3]Remediation Patch Commit
  • [4]Official CVE Entry Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 2 hours ago•CVE-2026-72792
6.9

CVE-2026-72792: Information Disclosure via Tag API Endpoint in SiYuan

SiYuan before version v3.7.4 is affected by an information disclosure vulnerability in the `/api/tag/getTag` endpoint. Under publish mode, this endpoint returns tag labels and occurrence counts from password-protected documents to unauthenticated readers, allowing them to enumerate protected vocabulary and internal metadata without providing the document's publish password.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 3 hours ago•CVE-2026-71486
4.3

CVE-2026-71486: Uncontrolled Resource Consumption in vLLM Derender Endpoints

CVE-2026-71486 (GHSA-8737-qx52-hjff) is an uncontrolled resource consumption vulnerability in vLLM's derender endpoints before version 0.26.0. An authenticated attacker can supply crafted, deeply nested token structures to exhaust CPU and memory resources, resulting in server denial of service (DoS) or Out of Memory (OOM) crashes. This vulnerability stems from missing input-bounds validation before passing user-supplied structures to computationally intensive decoding routines.

Amit Schendel
Amit Schendel
3 views•6 min read
•about 4 hours ago•CVE-2026-73555
5.3

CVE-2026-73555: Environment and Information Disclosure via Exception Handling in vLLM

An information disclosure vulnerability in vLLM prior to version 0.26.0 allows unauthenticated remote attackers to trigger validation errors that expose highly sensitive host machine metadata, absolute paths, environment structures, and usernames. This flaw stems from improper serialization of Pydantic exceptions and an inadequate fallback sanitization function.

Alon Barad
Alon Barad
4 views•5 min read
•about 5 hours ago•CVE-2026-73556
5.3

CVE-2026-73556: Regular Expression Denial of Service (ReDoS) in vLLM lm-format-enforcer Backend

CVE-2026-73556 is a Regular Expression Denial of Service (ReDoS) vulnerability in the vLLM inference engine's lm-format-enforcer structured-output backend. Prior to version 0.26.0, lack of compilation timeouts or complexity validation for user-supplied regular expressions in the structured_outputs.regex parameter allowed unauthenticated remote attackers to trigger CPU exhaustion and block the core execution loop.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 6 hours ago•CVE-2026-73557
6.3

CVE-2026-73557: Race Condition in PyTorch Tensor Invariant Checks within vLLM Engine

CVE-2026-73557 details a race condition vulnerability in the vLLM serving framework, arising from the thread-unsafe usage of PyTorch's process-global sparse tensor invariant check manager. When processing concurrent requests with custom prompt or multimodal embeddings, concurrent thread execution can disable global tensor integrity checks. An unauthenticated attacker can leverage this timing window to submit malformed sparse coordinate (COO) tensors containing out-of-bounds indices, causing memory corruption and process crashes (Denial of Service).

Alon Barad
Alon Barad
4 views•5 min read
•about 7 hours ago•CVE-2026-73842
9.0

CVE-2026-73842: Missing Authentication and Authorization on Internal Management Listener in OpenChoreo cluster-gateway

A critical-severity missing authentication and privilege management vulnerability was identified in the OpenChoreo cluster-gateway component. The gateway exposed internal management endpoints, including arbitrary Kubernetes proxying and execution interfaces, on an unauthenticated port. An adjacent attacker within the control-plane network can bypass RBAC controls entirely and gain administrative control over all connected data planes.

Alon Barad
Alon Barad
5 views•6 min read