CVE-2026-28398: NocoDB: Stored Cross-Site Scripting via Comments and Rich Text Cells

Published Mar 2, 2026
·
Updated

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).

Other sources

NocoDB is software for building databases as spreadsheets. Prior to version 0.301.3, user-controlled content in comments and rich text cells was rendered via v-html without sanitization, enabling stored XSS. This issue has been patched in version 0.301.3.

— MITRE

Affected Software

3 affected componentsFixes available
NocoDB<0.301.3
NocoDB NocoDB<0.301.3
npm/nocodb<=0.301.2
0.301.3

Event History

Mar 2, 2026
CVE Published
via MITRE·04:19 PM
Data Sourced
via MITRE·04:19 PM
DescriptionWeakness
Data Sourced
via NVD·05:16 PM
DescriptionSeverityWeaknessAffected Software
Mar 3, 2026
Advisory Published
via GitHub·08:58 PM
Data Sourced
via GitHub·08:58 PM
DescriptionWeaknessAffected Software
Mar 23, 58145
Event
via FIRST·08:36 AM

Frequently Asked Questions

1

What is the severity of CVE-2026-28398?

CVE-2026-28398 has a high severity due to its potential to enable stored Cross-Site Scripting (XSS) attacks.

2

How do I fix CVE-2026-28398?

To fix CVE-2026-28398, update NocoDB to version 0.301.3 or later.

3

What components of NocoDB are affected by CVE-2026-28398?

CVE-2026-28398 affects the comments in 'Comments.vue' and rich text in 'TextArea.vue' components.

4

Can CVE-2026-28398 lead to data compromise?

Yes, CVE-2026-28398 can lead to data compromise through unauthorized script execution in user comments.

5

How can I mitigate CVE-2026-28398 if I can't update?

If unable to update, consider sanitizing user input in comments and rich text cells to prevent XSS.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203