Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-50553— Note Mark: Path traversal via unsanitized book/note slug in migrate export (sibling of GHSA-g49p)

Quick assessment

Affected
enchant97 note-mark
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Note Mark 是一款开源笔记应用。在 0.19.5 版本之前,Note Mark 使用 OpenAPI/huma 的标签模式 来验证“书籍”和“笔记”的 slug 值。huma 使用 编译该模式,并通过 进行测试,而这是一个未锚定(unanchored)的匹配。由于该模式缺少 和 锚点,只要字符串中包含任意一个由小写字母、数字或连字符组成的子串,即可通过验证。例如,类似 这样的 slug 会被接受并原样存储。数据导出 CLI 命令( 和 )会将这些未净化的 slug 直接通过 / 拼接到输出路径中,随后使用

CVSS 8.6 · High EPSS 0.06% · P19

Affected Version Matrix 1

VendorProduct Version RangeStatus
enchant97 note-mark < 0.19.5 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-50553

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Note Mark: Path traversal via unsanitized book/note slug in migrate export (sibling of GHSA-g49p)
Source: CVE Program / CVE List V5
Vulnerability Description
Note Mark is an open-source note-taking application. Prior to version 0.19.5, Note Mark validates book and note slug values with the OpenAPI/huma tag pattern:"[a-z0-9-]+". huma compiles this with regexp.MustCompile(s.Pattern) and tests it with patternRe.MatchString(str), an UNANCHORED match. Because the pattern is not anchored (^...$), any string that merely CONTAINS one [a-z0-9-] substring passes validation. A slug such as ../../../../../../tmp/escape is accepted and stored verbatim. The data-export CLI commands (note-mark migrate export and note-mark migrate export-v1) join these unsanitized slugs straight into the output path with path.Join / filepath.Join, then os.MkdirAll the directory and os.Create the note file. path.Join resolves the ../ segments, so the note content file is written OUTSIDE the configured export directory. The export process commonly runs as root (default in Docker / bare-metal admin usage), so this is a root-privilege arbitrary directory create + file write. This issue has been patched in version 0.19.5.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
输入验证不恰当
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
enchant97 note-mark < 0.19.5 -

II. Public POCs for CVE-2026-50553

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-50553

登录查看更多情报信息。

Patches & Fixes for CVE-2026-50553 (1)

Vendor Advisories for CVE-2026-50553 (1)

Vendor Pages for CVE-2026-50553 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-50553

No comments yet


Leave a comment