Listen to this Post
Intro:
CVE-2026-72808 is an authorization bypass vulnerability in the Siyuan publishing server component, specifically within the `/api/asset/getFileAnnotation` endpoint. This endpoint is designed to retrieve the content of `.sya` PDF-annotation files, which contain user-generated highlights and private notes attached to PDF assets. The core issue stems from an asymmetry in access control enforcement between two related routes. The `/assets/` route, which serves the actual PDF files, correctly enforces a comprehensive publish-access check, including validation of publish visibility, publish-ignore flags, and the publish password. However, the `getFileAnnotation` endpoint does not perform this check.
The endpoint is gated only by the `CheckAuth` middleware, which is insufficient for publish contexts. `CheckAuth` admits any valid `RoleReader` token. In a typical publish mode deployment (port 6808), the publish proxy forwards traffic with a Reader JWT; this token can be obtained by any anonymous user when the `Publish.Auth.Enable` configuration is set to false. This means an anonymous reader, or any user with a `RoleReader` token, can directly call `getFileAnnotation` and supply a known asset path, such as assets/secret.pdf.sya. The function resolves the file path using GetAssetAbsPathInBox, which prevents directory traversal, but then returns the raw `.sya` content without any check on whether the owning document is published, password-protected, or unpublished.
This vulnerability is particularly dangerous because it bypasses the intended publish-access boundary that protects private document assets. The `.sya` files contain annotation data—highlights and notes—that are often considered sensitive and private. The issue is mitigated for assets stored in encrypted boxes, as those `.sya` files are fail-closed and not exposed. However, for non-encrypted assets, the gap is clear and exploitable. The suggested fix is to apply the same publish-access check used by the `/assets/` route to the `getFileAnnotation` endpoint, resolving the asset’s owning document and enforcing publish-access, publish-ignore, and password checks before returning the annotation content.
DailyCVE Form:
Platform: Siyuan Publishing
Version: Unknown/various
Vulnerability: Authorization Bypass (CVE-2026-72808)
Severity: Medium (CVSS 5.3)
date: 2026-09-04
Prediction: 2026-09-14
What Undercode Say:
Analytics: Vulnerable versions allow anonymous annotation theft. Exploitation requires asset path knowledge.
Bash command to detect vulnerability:
curl -X POST http://127.0.0.1:6808/api/asset/getFileAnnotation -H "Content-Type: application/json" -d '{"path":"assets/secret.pdf.sya"}'
Exploit: (Educational Purposes!)
curl -X POST http://127.0.0.1:6808/api/asset/getFileAnnotation -H "Content-Type: application/json" -d '{"path":"assets/known-asset.pdf.sya"}'
This returns the annotation content (e.g., {"annotSecret":"...", "note":"private highlight"}) without requiring authentication or a publish password.
Protection:
Apply the vendor-supplied fix to `getFileAnnotation` to enforce publish-access checks. As a workaround, enable `Publish.Auth.Enable` to require valid authentication for all readers, or restrict network access to the publishing server.
Impact:
Confidentiality breach of private PDF annotations (highlights/notes) for non-encrypted assets. The impact is limited to documents that are publish-forbidden, password-protected, or unpublished.
🎯Let’s Practice Exploiting & Learn Patching For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

