Impact
Note Mark accepts book and note slugs without proper anchoring, allowing any string that contains a single allowed character to pass validation. An attacker can craft a slug containing traversal sequences such as ../../../../../../tmp/escape, which the export command writes to the filesystem using path.Join. The resulting file is created outside the intended export directory, giving write access in a location the user has root privileges to. The impact is the ability for an attacker with access to run the export process to create or overwrite files wherever the application’s process runs, potentially installing malicious code or modifying critical files. Because many deployments run the exporter as root or within a privileged Docker container, this leads to a high‑severity root‑level compromise. The vulnerability is a classic directory traversal/unsafe path concatenation flaw anchored in the OpenAPI/huma slug pattern, exposing the application to unauthorized file creation and arbitrary code execution under a privileged context.
Affected Systems
The affected product is Note Mark, an open‑source note‑taking application published by enchant97. Versions prior to 0.19.5, including 0.19.4 and earlier, are vulnerable. The bug is fixed in release 0.19.5.
Risk and Exploitability
The CVSS score of 8.6 reflects the high impact and moderate complexity. No EPSS score is published. The bug is not currently listed in the CISA KEV catalog. The attacker would need to trigger the data‑export CLI that runs as root, which is often the case in default Docker or bare‑metal setups. Once the export is invoked with a crafted slug, the application writes files to arbitrary directories, enabling root‑level code execution or persistence. The vulnerability is exploitable in a local or privileged context and can have system‑wide effects.
OpenCVE Enrichment
Github GHSA