CVE-2026-103763 Overview
CVE-2026-103763 is an information disclosure vulnerability in SiYuan, an open-source personal knowledge management application, affecting versions prior to v3.8.5. The flaw resides in the getNotebookInfo API endpoint, which fails to enforce publish-visibility rules for read-only publish readers. Attackers can query publish-visible notebooks and retrieve metadata belonging to publish-excluded documents, including document count, total size, and modification timestamps. When no reader password is configured, anonymous visitors can perform the same enumeration without authentication. The vulnerability is classified as [CWE-200: Exposure of Sensitive Information to an Unauthorized Actor].
Critical Impact
Remote unauthenticated attackers can enumerate metadata of hidden documents inside publish-visible notebooks, exposing structure and activity patterns of content the owner intended to keep private.
Affected Products
- SiYuan knowledge management application versions prior to v3.8.5
- SiYuan deployments exposing the publish server over the network
- SiYuan instances without a configured reader password
Discovery Timeline
- 2026-10-02 - CVE-2026-103763 published to the National Vulnerability Database
- 2026-10-02 - Last updated in NVD database
Technical Details for CVE-2026-103763
Vulnerability Analysis
SiYuan exposes a publish feature that allows selective sharing of notebooks and documents through a read-only web interface. Owners can mark individual documents as publish-excluded so they remain invisible to publish readers. The getNotebookInfo endpoint returns aggregate metadata about a notebook, including document counts, cumulative storage size, and modification timestamps.
The endpoint computes these aggregates across all documents in the requested notebook without filtering out publish-excluded entries. A read-only publish reader, or an anonymous visitor when no reader password is set, can call getNotebookInfo against any publish-visible notebook and observe metadata that reflects hidden content. Changes to excluded documents alter the returned size and timestamps, enabling activity inference over time.
Root Cause
The root cause is missing authorization enforcement at the data-aggregation layer. The publish-visibility filter is applied to document listings but not to the metadata computation path inside getNotebookInfo. The endpoint trusts the notebook-level publish flag rather than evaluating the per-document exclusion state before returning aggregate values.
Attack Vector
Exploitation requires only network access to the SiYuan publish interface. An attacker identifies a publish-visible notebook identifier, then issues an HTTP request to the getNotebookInfo endpoint with that identifier. The response includes document count, total size, and the most recent modification timestamp across all documents, including those excluded from publishing. Repeated polling allows the attacker to track edit activity on hidden documents.
The vulnerability requires no user interaction, no privileges when the reader password is unset, and no additional exploitation chain. See the GitHub Security Advisory GHSA-ccxp-q3vg-jvgj and the VulnCheck Advisory on Siyuan API for additional technical context.
Detection Methods for CVE-2026-103763
Indicators of Compromise
- Unauthenticated HTTP requests to the /api/notebook/getNotebookInfo endpoint from external sources
- Repeated polling of the same notebook identifier at short intervals from a single client
- Access patterns to getNotebookInfo that do not correlate with normal publish-reader document browsing
Detection Strategies
- Enable access logging on the SiYuan publish interface and alert on requests to getNotebookInfo originating from unauthenticated sessions
- Baseline normal publish-reader traffic and flag clients that query notebook metadata without subsequently requesting any published document
- Correlate requests to getNotebookInfo with the configured reader-password state to identify exposure windows
Monitoring Recommendations
- Forward SiYuan publish-server logs to a centralized log platform for retention and query
- Monitor outbound metadata response sizes to detect automated enumeration of multiple notebooks
- Track the SiYuan version in deployed instances and alert when any instance remains below v3.8.5
How to Mitigate CVE-2026-103763
Immediate Actions Required
- Upgrade SiYuan to v3.8.5 or later on all instances exposing the publish feature
- Configure a strong reader password on every publish-enabled instance to prevent anonymous metadata queries
- Restrict network access to the SiYuan publish port using firewall rules or a reverse proxy with authentication
Patch Information
The SiYuan maintainers resolved the issue in version v3.8.5 by filtering publish-excluded documents from the metadata returned by getNotebookInfo. Operators should apply the official release available through the SiYuan project repository. Refer to the GitHub Security Advisory GHSA-ccxp-q3vg-jvgj for upgrade guidance.
Workarounds
- Set a reader password on the publish interface to block anonymous access to API endpoints
- Place the SiYuan publish service behind a reverse proxy that enforces authentication at the network edge
- Temporarily disable the publish feature on instances that cannot be upgraded until v3.8.5 is deployed
# Configuration example: restrict SiYuan publish access with nginx basic auth
location /api/notebook/getNotebookInfo {
auth_basic "SiYuan Publish";
auth_basic_user_file /etc/nginx/.htpasswd;
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.

