Summary
CVE-2026-104410 is a missing-authorization vulnerability in SiYuan Note, a self-hosted note-taking and knowledge-base application, affecting its public "publish" sharing mode. The flaw lets a publish reader (including anonymous visitors when Basic Auth is disabled) retrieve the full contents of database rows that are marked password-protected or have publishing disabled, by calling the POST /api/export/preview endpoint. NVD/vendor scoring places this at CVSS v3.1 7.5 (High) / CVSS v4.0 8.7 (High), reflecting a network-exploitable, no-privilege-required confidentiality breach.
Technical details
- Root cause: the
/api/export/previewexport code path reads the database (attribute-view) table directly from the parsed attribute-view store and applies only display-level view filtering, instead of reusing the access-check logic that the parallel render API (renderAttributeView) applies to protected rows. - The access checker built for reader validation is passed only to embed-block resolution and is never passed to the attribute-view/export branch, so publish-access boundaries (password protection, publish-disabled flag) are bypassed for exported data.
- Trigger condition: a publicly published document that embeds a database view aggregating rows sourced from password-protected or publish-disabled documents.
- Attack vector: network, low complexity, no authentication required (and no authentication possible at all when the deployment has Basic Auth disabled for its publish service).
- Impact: disclosure of primary-key text and cell values from database rows that should not be visible to publish readers; no integrity or availability impact.
Affected software
- SiYuan Note versions up to and including v3.8.4 (package
github.com/siyuan-note/siyuan/kernel) - Fixed in v3.8.5
Severity
- CVSS v3.1 Base Score: 7.5 (High) — Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0 Base Score: 8.7 (High) — reflects the same network, no-privilege, no-user-interaction confidentiality impact
Mitigation and recommended actions
- Immediate: upgrade SiYuan Note to v3.8.5 or later, which enforces publish-access checks on the export/preview code path.
- If immediate patching is not possible:
- Disable the "publish" sharing feature for workspaces containing database views that reference password-protected or publish-disabled documents.
- Enable Basic Auth on any publish-mode deployment to prevent fully anonymous access.
- Audit published documents for embedded database views that aggregate rows from restricted documents, and remove or restructure those views until patched.

