CVE-2025-21609
B3Log Siyuan 3.1.18
Raw vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/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:XSummary
CVE-2025-21609 is a high-severity Incomplete Cleanup (CWE-459) vulnerability in B3Log Siyuan. Its CVSS base score is 8.7 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Data from Local System (T1005); ranked at the 46th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-6 (Least Privilege) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
SiYuan Note version 3.1.18, a self-hosted open source personal knowledge management software, contains an arbitrary file deletion vulnerability identified as CVE-2025-21609. The issue resides in the POST /api/history/getDocHistoryContent endpoint, where an attacker can craft a malicious payload to delete arbitrary files on the affected server. This flaw is rated with a CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H) and is associated with CWE-459 (Incomplete Cleanup) and CWE-552 (Files or Directories Accessible to External Parties).
The vulnerability enables exploitation by unauthenticated remote attackers over the network with low complexity and no user interaction required. Successful exploitation allows the attacker to delete any file on the server, potentially disrupting service availability and compromising data integrity without affecting confidentiality.
Mitigation is addressed in commit d9887aeec1b27073bec66299a9a4181dc42969f3 from the SiYuan GitHub repository, which resolves the issue and is expected to appear in version 3.1.19. Additional details are available in the GitHub Security Advisory at GHSA-8fx8-pffw-w498. Security practitioners should update to the patched version and review access to the affected endpoint.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-0017
Vulnerability Data
SiYuan is self-hosted, open source personal knowledge management software. SiYuan Note version 3.1.18 has an arbitrary file deletion vulnerability. The vulnerability exists in the `POST /api/history/getDocHistoryContent` endpoint. An attacker can craft a payload to exploit this vulnerability, resulting in the…
more
deletion of arbitrary files on the server. Commit d9887aeec1b27073bec66299a9a4181dc42969f3 fixes this vulnerability and is expected to be available in version 3.1.19.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 5 hardening rules · 2 OS baselines
V6.4.1V8.4.2
Mitigating Controls (NIST 800-53 r5) AI
AC-3 directly enforces authorization checks on access to files and directories, stopping unauthorized external exposure.
AC-6 limits granted privileges, reducing the chance that files or directories become reachable by external parties.
Developer testing and evaluation can discover incomplete cleanup through dynamic analysis or resource-leak testing.
Non-persistence mechanisms explicitly initiate resources in a known state and terminate them, directly enforcing cleanup.
Session termination forces explicit release of session-related temporary resources.
AC-4 enforces information flow rules that can block unauthorized external access to files or directories.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Enforcing least-privilege permissions and authorization policies directly prevents unauthorized file/directory exposure.
Logical segmentation and access protections stop external parties from reaching files that should remain internal.
Secure-development practices and coding standards normally require proper resource release and cleanup.
Life-cycle management encompasses disposal of temporary resources but does not specifically target runtime cleanup bugs.
Data-at-rest protections such as encryption or ACLs reduce the impact of unintended file exposure.
Explicitly calls for removing sensitive data after use, directly addressing one class of incomplete cleanup.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Explicitly requires secure deletion of temporary or residual data, directly addressing incomplete cleanup.
By tracing and retrieving all copies of information stored on endpoint and portable devices, the control reduces the likelihood that files remain accessible outside the organization’s security perimeter.
Labeling information according to its sensitivity and specifying corresponding protection measures makes it less probable that files or directories containing sensitive content will be left accessible to external parties.
Including asset location and ownership in the inventory, combined with secure disposal procedures, decreases the chance that files or directories remain accessible to external parties after they should have been removed or restricted.
Solid perimeters and locked external access points stop files, devices, or directories containing sensitive data from being reachable by external parties who could otherwise walk in or break in.
Authorizing and logging the removal of storage media, disabling unused ports, and monitoring transfers limit the exposure of files or directories to external parties outside the organization’s controlled environment.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (2 rules)
- V-248579 OL 8 must restrict access to the kernel message buffer. prevents CWE-552
- V-248597 There must be no "shosts.equiv" files on the OL 8 operating system. prevents CWE-552