ZeroHour

CVE-2026-69086

niche

Path Traversal in SiYuan attribute-view API exposes cross-scope workspace data

CVSS 4.0
8.3 high
EPSS
<1%p28
Published
()
Modified
AI analysis

SiYuan, an open-source Go-based note-taking and knowledge-management application, is vulnerable to a path traversal (CWE-22) in its attribute-view read API, where a caller-supplied id/avID is joined into a file path under the workspace's storage/av/ directory without containment checks or rejection of '..' segments. An attacker sends an avID containing ../ sequences to endpoints such as POST /api/av/renderAttributeView; because the only identifier-format check (ast.IsNodeIDPattern) runs solely on the file-creation branch, any traversal that resolves to an already-existing .json file falls through to an unconfined file read via av.ParseAttributeView and filelock.ReadFile. The four affected endpoints (/api/av/renderAttributeView, /api/av/getAttributeViewKeysByID, /api/av/getAttributeViewKeys, /api/av/getCurrentAttrViewImages) are gated only by CheckAuth, so a publish-service RoleReader token is sufficient, and when Publish.Auth.Enable is false the publish proxy uses the anonymous account, making the surface reachable with no credentials. Successful exploitation yields cross-scope disclosure of attribute-view/.json data from elsewhere in the workspace, with confidentiality-only impact scored 7.7 high (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N), affecting SiYuan deployments whose API or publish service is network-reachable. No exploitation is currently known: the flaw is not in CISA KEV, no public PoC exists, and EPSS estimates only a ~0.4% probability of exploitation within 30 days.

What to do: Apply the vendor fix when available (no fixed version is given in the source data, so check the SiYuan advisory or GitHub release notes), and in the meantime restrict network exposure of the /api/av/* endpoints. Keep Publish.Auth.Enable enabled with least-privilege reader tokens so anonymous users cannot reach the affected endpoints. Hunt for probing by reviewing access logs for id/avID values containing ../ sent to the four listed endpoints.

Affected
SiYuan (open-source note-taking project) SiYuan kernel Go HTTP API - attribute-view read endpoints (/api/av/renderAttributeView, /api/av/getAttributeViewKeysByID
Estimated exposure
nicheunknown; plausibly on the order of thousands of self-hosted instances or fewer with the publish/API surface exposed — No active-install or internet-scan counts were provided; SiYuan is a self-hosted open-source note-taking application, and only deployments that expose the publish service or grant API access over the network - typically a small subset of a…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

SiYuan versions before v3.7.3 fail to validate the avID parameter on all code branches in attribute-view read endpoints, allowing attackers to construct traversal paths that escape the storage directory. Authenticated users with RoleReader permissions or anonymous clients when publish authentication is disabled can read JSON files outside the attribute-view directory to disclose cross-scope database content.

Ecosystems
go
Weakness
CWE-22
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
GHSA
GHSA-7hm9-v7vf-7g4w (high)

In the news

No ingested article mentions this CVE yet.