Skip to content

GHSA-9wgh-m22w-9xj8 CVE-2026-47279

NocoDB: Hidden LTAR Column Exposure in Public Shared-View Relation Endpoints

Medium npm
Severity
0.0 / 10
Medium · CVSS 4.0
Exploit chance (EPSS)
0.41%
Chance of exploitation in the next 30 days. Higher than 34.83% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-284 Improper Access Control
Fix
2026.05.1
Upgrade nocodb to this version or later

Description

Summary

The public shared-view relation endpoints accepted a caller-supplied column ID without verifying that the column was visible in the shared view, so anyone holding a share UUID could read links from any LTAR column on the view's table — including columns the view owner had hidden.

Details

publicMmList, publicHmList, and relDataList already ensured that the requested column belonged to the view's model, but did not check the view-column entry's show flag. All three handlers now also fetch the shared view's column entries and reject the request unless the matching entry has show=true. The four public relation routes covered by the fix are:

  • GET /api/v2/public/shared-view/:uuid/rows/:rowId/mm/:columnId (many-to-many)
  • GET /api/v2/public/shared-view/:uuid/rows/:rowId/hm/:columnId (has-many)
  • GET /api/v2/public/shared-view/:uuid/rows/:rowId/{ln,om}/:columnId (links / one-to-many — both share the many-to-many handler)
  • GET /api/v2/public/shared-view/:uuid/nested/:columnId (form/gallery picker)

Impact

Anyone holding a share UUID could enumerate the full set of linked records for any hidden LTAR column on the view's table by calling the relation endpoint directly, even when the same column was correctly omitted from the public /rows response.

Credit

This issue was reported by @leduckhuong.

Affected versions

npm

PackageVulnerableFixed in
nocodb
< 2026.05.1
2026.05.1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

nocodb npm → 2026.05.1

npm
npm install nocodb@2026.05.1
yarn
yarn add nocodb@2026.05.1
pnpm
pnpm add nocodb@2026.05.1

Severity breakdown

CVSS 4.0 0.0

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Attack vector
Network
Attack complexity
Low
Attack requirements
None
Privileges required
None
User interaction
None
Confidentiality (vulnerable system)
Low
Integrity (vulnerable system)
None
Availability (vulnerable system)
None
Confidentiality (subsequent systems)
None
Integrity (subsequent systems)
None
Availability (subsequent systems)
None

Weakness

CWE-284: Improper Access Control

The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.

How to prevent it
  • Architecture and Design, Operation: Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
  • Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-hmcr-rmjq-47qr
NocoDB: Server-Side Request Forgery via Spreadsheet Import Endpoint
Medium Also affects nocodb
GHSA-h6vv-pcq8-7xm4
NocoDB: Server-Side Request Forgery via Base Migration URL
Medium Also affects nocodb
GHSA-6mhr-74x2-98v9
NocoDB: Stored Cross-Site Scripting via Secure Attachment
Medium Also affects nocodb
GHSA-r989-7g3j-wjhw
NocoDB: Refresh Tokens Persist Through Password Recovery
Medium Also affects nocodb
GHSA-gprh-27j3-g5h4
NocoDB: Server-Side Request Forgery via Spreadsheet Fetch URL
Medium Also affects nocodb
GHSA-g72g-r7m4-9x4g
NocoDB: OAuth Tokens Persist Through Security Events
Medium Also affects nocodb
GHSA-xxpj-q764-9r6q
NocoDB: Missing Ownership Check in MCP Attachment Read
Low Also affects nocodb
GHSA-hj85-ph9q-78jg
NocoDB: Stored Cross-Site Scripting via Form View Redirect URL
High Also affects nocodb
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor