Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-72803

CVE-2026-72803: SiYuan Auth Bypass Vulnerability

CVE-2026-72803 is an authentication bypass flaw in SiYuan versions before v3.7.4 that allows attackers to access protected block attributes without proper authorization. This article covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-72803 Overview

CVE-2026-72803 is an information disclosure vulnerability in SiYuan, an open-source personal knowledge management application. Versions prior to v3.7.4 fail to enforce publish-access checks on the getBlockAttrs and batchGetBlockAttrs API endpoints. Unauthenticated attackers can send POST requests containing block IDs and retrieve block attributes from protected documents. Exposed data includes block names, aliases, memos, and custom fields. The flaw is classified under CWE-862: Missing Authorization and is exploitable over the network without user interaction.

Critical Impact

Remote unauthenticated attackers can extract metadata and custom fields from documents intended to remain private on SiYuan instances exposed to the network.

Affected Products

  • SiYuan versions prior to v3.7.4
  • SiYuan getBlockAttrs API endpoint
  • SiYuan batchGetBlockAttrs API endpoint

Discovery Timeline

  • 2026-08-12 - CVE-2026-72803 published to NVD
  • 2026-08-12 - Last updated in NVD database

Technical Details for CVE-2026-72803

Vulnerability Analysis

SiYuan exposes REST-style endpoints that allow clients to fetch metadata for individual blocks or batches of blocks within notebooks. The getBlockAttrs and batchGetBlockAttrs handlers return attribute data associated with a supplied block ID. In versions before v3.7.4, these handlers omit the publish-access check applied to other endpoints. As a result, requests reach the attribute lookup path without any verification that the caller is permitted to view the target document.

The returned attributes include the block name, alias, memo, and any user-defined custom fields. These fields commonly contain sensitive context such as document titles, categorization tags, and analyst notes. An attacker who can reach the SiYuan HTTP interface can enumerate or guess block IDs and retrieve this data from documents that were never intended to be published.

Root Cause

The root cause is missing authorization enforcement [CWE-862]. The affected endpoints do not invoke the publish-access middleware that gates other read paths. Access control is enforced inconsistently across the API surface, leaving these two handlers open to unauthenticated callers.

Attack Vector

Exploitation requires only network access to the SiYuan service. The attacker sends a POST request containing a JSON body with one or more block IDs to /api/attr/getBlockAttrs or /api/attr/batchGetBlockAttrs. The server responds with the associated attribute data regardless of whether the block belongs to a protected document. No credentials, tokens, or user interaction are required. Refer to the GitHub Security Advisory GHSA-qvq9-hq6p-v378 and the VulnCheck Advisory for endpoint-level details.

Detection Methods for CVE-2026-72803

Indicators of Compromise

  • POST requests to /api/attr/getBlockAttrs or /api/attr/batchGetBlockAttrs originating from unexpected external IP addresses.
  • Bursts of requests to the attribute endpoints containing sequential or enumerated block ID values.
  • HTTP 200 responses from these endpoints served to sessions that never authenticated to the SiYuan instance.

Detection Strategies

  • Inspect SiYuan access logs for calls to getBlockAttrs and batchGetBlockAttrs and correlate against authenticated session identifiers.
  • Deploy web application firewall rules that alert on high-volume POST traffic to the attribute API paths.
  • Compare running SiYuan versions against v3.7.4 across the estate to identify vulnerable deployments.

Monitoring Recommendations

  • Forward SiYuan HTTP logs to a centralized log platform and build queries that group requests to the affected endpoints by source IP.
  • Monitor egress volumes from SiYuan hosts for anomalies that could indicate bulk attribute extraction.
  • Track configuration drift on any reverse proxy fronting SiYuan to confirm authentication enforcement remains active.

How to Mitigate CVE-2026-72803

Immediate Actions Required

  • Upgrade all SiYuan installations to v3.7.4 or later without delay.
  • Restrict network exposure of SiYuan instances to trusted networks or VPN clients until patching is complete.
  • Review recent access logs for the two affected endpoints and investigate unexpected external requests.

Patch Information

The SiYuan maintainers addressed the vulnerability in v3.7.4 by adding publish-access enforcement to the getBlockAttrs and batchGetBlockAttrs handlers. Patch details are documented in GHSA-qvq9-hq6p-v378.

Workarounds

  • Place SiYuan behind an authenticating reverse proxy that requires credentials before proxying requests to the application.
  • Block inbound requests to /api/attr/getBlockAttrs and /api/attr/batchGetBlockAttrs at the proxy or firewall for untrusted sources.
  • Bind the SiYuan listener to 127.0.0.1 on single-user deployments to eliminate remote reachability.
bash
# Example nginx snippet to block unauthenticated access to the affected endpoints
location ~ ^/api/attr/(getBlockAttrs|batchGetBlockAttrs)$ {
    allow 10.0.0.0/8;
    deny all;
    proxy_pass http://127.0.0.1:6806;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.