CVE-2026-68585: SiYuan before v3.7.3 Metadata Disclosure via getBlockInfo

Published Aug 3, 2026
·
Updated

CVE: This vulnerability corresponds to CVE-2026-68585.

Summary

The /api/block/getBlockInfo endpoint returns document root metadata including the document title (rootTitle) for a block in a publish-forbidden document, with no publish-access check. Its sibling /api/block/getDocInfo applies the publish-access filter, getBlockInfo does not. Both are gated by CheckAuth only, so getBlockInfo is reachable by the publish RoleReader token and by the anonymous account when Publish.Auth.Enable is false.

Details

The list/info side of this API is filtered while the block-info twin is not the asymmetry indicates an oversight rather than intended behavior:

| Endpoint | Returns | Publish-access filter | Route | |---|---|---|---| | getDocInfo | document info/metadata | present | CheckAuth | | getBlockInfo | box, path, rootID, rootTitle, rootChildID, rootIcon | none | CheckAuth |

getBlockInfo takes a caller-supplied block ID, validates only its format, and returns the containing document's root metadata including rootTitle (the document title) with no IsReadOnlyRoleContext / publish-access check. Because getDocInfo performs the filtering for equivalent data, the boundary is clearly meant to apply here; getBlockInfo omits it.

Proof of Concept

Reproduced on a local instance (SiYuan running locally, publish mode enabled on port 6808, publish Basic Auth disabled). Setup: a publish-forbidden document D whose title is a unique marker, containing a block BLOCKID.

1. Mark the document publish-forbidden (admin action): POST http://127.0.0.1:6806/api/filetree/setPublishAccess Authorization: Token <admin-token> {"id":"DOC","visible":false,"password":"","disable":true}

2. Disclosure: the block-info endpoint returns the forbidden doc's title (anonymous, port 6808): POST http://127.0.0.1:6808/api/block/getBlockInfo {"id":"BLOCKID"} Returns HTTP 200 with data.rootTitle set to the publish-forbidden document's title, along with box, path, rootID, and rootIcon. This document's title is not returned by the reader-facing filtered paths.

Impact

An anonymous reader (publish mode with auth disabled) or any publish RoleReader can read the title and root metadata (notebook, path, root ID, icon) of a publish-forbidden document by supplying a block ID from it. This discloses the existence, title, and location of documents an administrator marked as excluded from publishing.

Precondition and scope (stated honestly): the request requires a block ID from the target document; this endpoint does not enumerate arbitrary documents. The disclosure is limited to document metadata, title, notebook, path, root ID, icon — not the document body. Block IDs for forbidden documents are obtainable from other CheckAuth-only endpoints that lack the publish-access filter (reported separately). Impact is confidentiality-only, limited to metadata; no content body, no modification. Encrypted notebooks are out of scope.

Suggested fix

Apply the same publish-access check getDocInfo uses to getBlockInfo before returning root metadata, resolve the block's document and enforce IsReadOnlyRoleContext / the publish-access filter, consistent with the sibling endpoint.

Other sources

SiYuan versions before v3.7.3 contain a metadata disclosure vulnerability in the /api/block/getBlockInfo endpoint that returns document root metadata including title for publish-forbidden documents without publish-access checks. Anonymous readers or publish RoleReader tokens can supply a block ID to retrieve the title, notebook, path, root ID, and icon of documents administrators marked as excluded from publishing.

MITRE

Affected Software

2 affected componentsFixes available
SiYuan SiYuan<3.7.3
go/github.com/siyuan-note/siyuan/kernel<0.0.0-20260721014951-ffde3b21eca4
0.0.0-20260721014951-ffde3b21eca4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/siyuan-note/siyuan/kernel to a version that resolves this vulnerability.

    Fixed in 0.0.0-20260721014951-ffde3b21eca4
  2. Upgrade

    Upgrade SiYuan to a version that resolves this vulnerability.

    Fixed in v3.7.3
  3. Configuration

    Update the /api/block/getBlockInfo endpoint to apply the same publish-access check that /api/block/getDocInfo uses (i.e., resolve the block's document and enforce IsReadOnlyRoleContext / the publish-access filter before returning root metadata such as rootTitle, box, path, rootID, and rootIcon).

    SiYuan /api/block/getBlockInfo publish-access check (IsReadOnlyRoleContext / publish-access filter) = enabled

Event History

Aug 3, 2026
CVE Published
via MITRE·01:20 PM
Data Sourced
via MITRE·01:20 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:16 PM
DescriptionSeverityWeakness
Sep 3, 2026
Advisory Published
via GitHub·09:22 PM
Data Sourced
via GitHub·09:22 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-68585?

The severity of CVE-2026-68585 is classified as medium with a score of 5.8.

2

How do I fix CVE-2026-68585?

To fix CVE-2026-68585, upgrade SiYuan to version 3.7.3 or later.

3

What does CVE-2026-68585 affect?

CVE-2026-68585 affects SiYuan versions before 3.7.3.

4

What type of vulnerability is CVE-2026-68585?

CVE-2026-68585 is a metadata disclosure vulnerability.

5

What can attackers do with CVE-2026-68585?

Attackers can use CVE-2026-68585 to access document root metadata for publish-forbidden documents without appropriate access checks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203