{"id":"CVE-2026-47383","aliases":["GHSA-jf3g-4gwg-4h66"],"url":"https://o3.security/vulnerability/CVE-2026-47383","summary":"NocoDB: Stored Cross-Site Scripting via Row Comments","details":"### Summary\nAn authenticated commenter could store HTML in row comments that executed as script\nwhen other users hovered over the comment in the expanded form view.\n\n### Details\nThe comment write paths persisted the raw comment body with no server-side sanitisation;\nthe expanded-form sidebar then rendered the stored body and fed its `data-tooltip`\nattribute to Tippy with `allowHTML: true`. Even when the editor stripped script tags\nat write time, attribute-level payloads re-entered the DOM as live HTML on hover.\n\n### Impact\nStored Cross-Site Scripting against any user who views the affected row. Script runs in\nthe NocoDB origin with the victim's session and can read the auth JWT from\n`localStorage`. Authentication and comment permission are required.\n\n### Credit\nThis issue was reported by [@DavidCarliez](https://github.com/DavidCarliez). It was independently reported by [@Mouhebbenelwafi](https://github.com/Mouhebbenelwafi).","published":"2026-06-23T20:15:56.168Z","modified":"2026-08-12T03:51:11.710048580Z","cvss":null,"epss":{"score":0.00288,"percentile":0.21418,"asOf":"2026-08-16"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"nocodb","fixedVersion":"2026.05.1"}],"fix":null,"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47383.json"},{"type":"ADVISORY","url":"https://github.com/nocodb/nocodb/security/advisories/GHSA-jf3g-4gwg-4h66"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47383"},{"type":"PACKAGE","url":"https://github.com/nocodb/nocodb"},{"type":"WEB","url":"https://github.com/nocodb/nocodb/releases/tag/2026.05.1"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:11.710048580Z"}}