CVE-2026-47388 — nocodb
CVE-2026-47388 is a CWE-639 vulnerability in nocodb. A fix is available for nocodb — see the affected versions and patch details below.
NocoDB: Missing Ownership Check in MCP Attachment Read
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-47388.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
nocodbnpmDescription
Summary
A low-privilege MCP token holder with knowledge of an attachment path could read any
file in shared storage, including attachments belonging to other bases and workspaces,
because the MCP readAttachment tool did not verify the file's ownership.
Details
The MCP readAttachment tool accepts caller-supplied path/url values and streams
the file via the storage adapter. The handler now looks up the path in
nc_file_references and requires a non-deleted row whose base_id matches the
caller's MCP context before streaming; otherwise it returns
Attachment is not accessible from this MCP context. The lookup tolerates both
download/uploads/... and uploads/... styles.
Impact
Arbitrary read against shared storage scoped to attachments the caller's MCP context should not see. Exploitation requires an MCP token and a known attachment path.
Credit
This issue was reported by @helwor-01.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | nocodb | all versions | 2026.05.1npm install nocodb@2026.05.1 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for nocodb, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update nocodb to 2026.05.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-47388 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
Frequently Asked Questions
Is CVE-2026-47388 in your dependencies?
Find it across npm, including transitive dependencies.