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

CVE-2026-86191: SiYuan Information Disclosure Vulnerability

CVE-2026-86191 is an information disclosure flaw in SiYuan that exposes private attribute view key definitions to unauthorized readers. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-86191 Overview

CVE-2026-86191 is an information disclosure vulnerability in SiYuan, a self-hosted personal knowledge management application. Versions before v3.8.2 fail to enforce parent database visibility checks in the getAttributeViewKeysByID endpoint. Publish readers with low-privileged access can enumerate private attribute view key definitions belonging to hidden databases. The exposed data includes complete key schemas, sensitive field names, and relation definitions. The flaw is classified under CWE-639: Authorization Bypass Through User-Controlled Key.

Critical Impact

Authenticated publish readers can retrieve schema metadata from private SiYuan databases they should not be able to view, leaking structural information about hidden notes and relational data.

Affected Products

  • SiYuan versions prior to v3.8.2
  • getAttributeViewKeysByID API endpoint
  • Publish reader access role on affected instances

Discovery Timeline

  • 2026-09-05 - CVE-2026-86191 published to NVD
  • 2026-09-08 - Last updated in NVD database

Technical Details for CVE-2026-86191

Vulnerability Analysis

SiYuan exposes attribute views (database-like structures) that contain user-defined key schemas. The getAttributeViewKeysByID endpoint returns the list of keys associated with a supplied attribute view identifier. In versions before v3.8.2, the handler validates the request only against endpoint-level authentication and does not check whether the caller has read access to the parent database that owns the requested attribute view.

Any authenticated publish reader can iterate through attribute view identifiers and receive full key definitions. The response reveals column names, field types, and relation definitions that link the view to other databases. While row-level content is not returned, the metadata alone can expose sensitive schema design and confidential taxonomies.

Root Cause

The root cause is a broken access control pattern where authorization is scoped to the object handler rather than to the parent object. The endpoint accepts a user-controlled attribute view ID and returns its keys without traversing up to verify that the caller can see the containing database. This maps directly to CWE-639, where authorization is bypassed through a user-controlled key.

Attack Vector

Exploitation requires network access to the SiYuan instance and a valid publish reader session. An attacker enumerates or guesses attribute view identifiers, then issues requests to getAttributeViewKeysByID for each ID. The server returns the key schema for hidden databases without further authorization checks. No user interaction is required beyond obtaining a low-privileged publish reader token.

For further technical detail, see the GitHub Security Advisory GHSA-j4qq-w6qx-6839 and the VulnCheck Security Advisory.

Detection Methods for CVE-2026-86191

Indicators of Compromise

  • Repeated authenticated requests to the getAttributeViewKeysByID endpoint from a single session within a short time window.
  • Publish reader accounts issuing requests that reference attribute view IDs outside of their published content set.
  • Access log entries showing enumeration patterns with sequential or brute-forced attribute view identifiers.

Detection Strategies

  • Parse SiYuan HTTP access logs for high-volume calls to getAttributeViewKeysByID and correlate them with the requesting account role.
  • Compare requested attribute view IDs against the set of published documents accessible to each publish reader account.
  • Deploy web application firewall rules that rate-limit or alert on repeated calls to attribute view API endpoints.

Monitoring Recommendations

  • Enable request logging on the SiYuan API layer and forward logs to a central SIEM for retention and analysis.
  • Alert on any publish reader account that queries more distinct attribute view IDs than the number of documents it can access.
  • Review outbound proxy logs for unusual bulk retrieval patterns from SiYuan hosts serving publish content.

How to Mitigate CVE-2026-86191

Immediate Actions Required

  • Upgrade all SiYuan installations to version v3.8.2 or later.
  • Audit existing publish reader accounts and revoke any that are no longer required.
  • Review published attribute views for sensitive schema names and rename fields that leak confidential context.

Patch Information

The SiYuan maintainers addressed the issue in v3.8.2 by adding parent database visibility checks to the getAttributeViewKeysByID endpoint. Fix details are documented in the GitHub Security Advisory GHSA-j4qq-w6qx-6839. Apply the upgrade before restoring publish reader access to any exposed instance.

Workarounds

  • Restrict network exposure of the SiYuan publish interface to trusted users via VPN or reverse proxy allowlists until the patch is applied.
  • Disable the publish reader role for external users on vulnerable versions to remove the required precondition for exploitation.
  • Block direct access to the getAttributeViewKeysByID endpoint at the reverse proxy for publish reader sessions where feasible.
bash
# Example NGINX reverse proxy rule to block the vulnerable endpoint
location ~* /api/av/getAttributeViewKeysByID {
    return 403;
}

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.