GitHub Advisoryadvisory · npm
GHSA-8vm4-g489-v3w7 NocoDB Vulnerable to Stored Cross-Site Scripting via Comments and Rich Text Cells
MEDIUM
Official page ↗
- Aliases
- CVE-2026-28398
- Ecosystem
- npm
- Packages
- nocodb
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
- Weaknesses
- CWE-79
- Reviewed
- 2026-03-03
Affected packages
• npm nocodb: < 0.301.3 → fixed in 0.301.3
Description
Summary
User-controlled content in comments and rich text cells was rendered via `v-html` without sanitization, enabling stored XSS.
Details
Comments in `Comments.vue` and rich text in `TextArea.vue` were parsed by markdown-it with `html: true` and injected via `v-html`. The codebase had `vue-dompurify-html` available but these paths used raw `v-html`. Server-side, `Comment.insert()` used `extractProps()` instead of `extractPropsAndSanitize()`.
Commenter role is sufficient for the comments vector; Editor role for rich text.
This issue was independently reported; see also GHSA-rcph-x7mj-54mm and GHSA-wwp2-x4rj-j8rm for the same root cause found by GitHub Security Lab.
Impact
Stored XSS — malicious scripts execute for any user viewing the comment or cell.
Credit
This issue was reported by @bugbunny-research (bugbunny.ai).
Related
Alias · CVE (1)
- CVE-2026-28398 NocoDB is software for building databases as spreadsheets. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness