CVE-2026-44522
Note Mark: Arbitrary File Write via Path Traversal in Asset Names Leading to Remote Code Execution
Description
Note Mark is an open-source note-taking application. From 0.13.0 to before 0.19.4, the Note Mark application allows authenticated users to upload assets to notes via POST /api/notes/{noteID}/assets, where the asset filename is provided through the X-Name HTTP request header. This value is stored directly in the database without any sanitization or validation - no path separator filtering, no directory traversal sequence rejection, and no use of filepath.Base() to strip directory components. The unsanitized name is persisted as-is in the note_assets table (Name column, varchar(80)). When an administrator subsequently runs the data export CLI commands (note-mark migrate export-v1 or note-mark migrate export), the stored asset name is passed directly into filepath.Join() and path.Join() calls as part of the output file path argument to os.Create(). Since Go's filepath.Join() resolves ../ sequences during path normalization, an attacker-controlled asset name containing directory traversal sequences causes the export process to write files to arbitrary locations on the filesystem, completely outside the intended export directory. This vulnerability is fixed in 0.19.4.
INFO
Published Date :
May 14, 2026, 7:16 p.m.
Last Modified :
Oct. 26, 2026, 2:10 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
Affected Products
The following products are affected by CVE-2026-44522
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 4.0 | HIGH | [email protected] |
Solution
- Update Note Mark to version 0.19.4 or later.
- Verify application is running the latest version.
- Review asset upload and export processes.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-44522.
| URL | Resource |
|---|---|
| https://github.com/enchant97/note-mark/security/advisories/GHSA-g49p-4qxj-88v3 | |
| https://github.com/enchant97/note-mark/security/advisories/GHSA-g49p-4qxj-88v3 |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-44522 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-44522
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-44522 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-44522 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 26, 2026
Action Type Old Value New Value Added Translation Title: note-mark de enchant97, Description: Note Mark es una aplicación de toma de notas de código abierto. Desde la versión 0.13.0 hasta antes de la 0.19.4, la aplicación Note Mark permite a los usuarios autenticados subir activos a las notas a través de POST /API/notes/{noteID}/assets, donde el nombre de archivo del activo se proporciona a través del encabezado de solicitud HTTP X-Name. Este valor se almacena directamente en la base de datos sin ninguna sanitización o validación - sin filtrado de separadores de ruta, sin rechazo de secuencias de salto de directorio, y sin el uso de filepath.Base() para eliminar componentes de directorio. El nombre no sanitizado se persiste tal cual en la tabla note_assets (columna Name, varchar(80)). Cuando un administrador ejecuta posteriormente los comandos CLI de exportación de datos (note-mark migrate export-v1 o note-mark migrate export), el nombre del activo almacenado se pasa directamente a las llamadas filepath.Join() y path.Join() como parte del argumento de la ruta del archivo de salida a os.Create(). Dado que filepath.Join() de Go resuelve las secuencias .. / durante la normalización de la ruta, un nombre de activo controlado por el atacante que contiene secuencias de salto de directorio hace que el proceso de exportación escriba archivos en ubicaciones arbitrarias en el sistema de archivos, completamente fuera del directorio de exportación previsto. Esta vulnerabilidad se corrige en la versión 0.19.4. -
CVE Modified by [email protected]
Jun. 17, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'enchant97', 'product': 'note-mark', 'versions': [{'status': 'affected', 'version': '>= 0.13.0, < 0.19.4'}]}] -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 17, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-44522', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'no'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-05-14T19:44:26.723448Z'} -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
May. 14, 2026
Action Type Old Value New Value Added Reference https://github.com/enchant97/note-mark/security/advisories/GHSA-g49p-4qxj-88v3 -
New CVE Received by [email protected]
May. 14, 2026
Action Type Old Value New Value Added Description Note Mark is an open-source note-taking application. From 0.13.0 to before 0.19.4, the Note Mark application allows authenticated users to upload assets to notes via POST /api/notes/{noteID}/assets, where the asset filename is provided through the X-Name HTTP request header. This value is stored directly in the database without any sanitization or validation - no path separator filtering, no directory traversal sequence rejection, and no use of filepath.Base() to strip directory components. The unsanitized name is persisted as-is in the note_assets table (Name column, varchar(80)). When an administrator subsequently runs the data export CLI commands (note-mark migrate export-v1 or note-mark migrate export), the stored asset name is passed directly into filepath.Join() and path.Join() calls as part of the output file path argument to os.Create(). Since Go's filepath.Join() resolves ../ sequences during path normalization, an attacker-controlled asset name containing directory traversal sequences causes the export process to write files to arbitrary locations on the filesystem, completely outside the intended export directory. This vulnerability is fixed in 0.19.4. Added CVSS V4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/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:X Added CWE CWE-22 Added CWE CWE-20 Added Reference https://github.com/enchant97/note-mark/security/advisories/GHSA-g49p-4qxj-88v3