Medium

NocoDB: Shared-base link access can invite arbitrary users as persistent base members

  • Disclosed: 21.05.2026
  • Updated: 11.10.2026 10:22

Summary

Shared-base sessions were granted the same base-member capabilities as authenticated viewers. Using only the shared-base UUID (xc-shared-base-id), an attacker could enumerate base members and invite an arbitrary email into the base as a real member. The invited user could then redeem the invite via the normal signup flow and retain authenticated access even after the owner revoked the shared link.

Details

Shared-base sessions were mapped to ProjectRoles.VIEWER in packages/nocodb/src/strategies/base-view.strategy/base-view.strategy.ts, and packages/nocodb/src/utils/acl.ts granted baseUserList and userInvite to that role. The shared frontend (packages/nc-gui/composables/useApi/interceptors.ts) deliberately removed auth headers in favour of the shared-base header, but the ACL middleware did not distinguish shared sessions from genuine viewers.

The end-to-end chain:

  • GET /api/v2/meta/bases/:baseId/users returned the member list to shared-base callers (@Acl('baseUserList')).
  • POST /api/v2/meta/bases/:baseId/users accepted an invite from shared-base callers (@Acl('userInvite')); base-users.service.ts inserted a real nc_users_v2 row with invite_token and a nc_base_users_v2 row for the target base, with invited_by = null.
  • The invited account redeemed the invite through the normal signup path (users.service.ts), gaining a persistent JWT scoped to the base.
  • Revoking the shared link did not affect the redeemed account.

Impact

  • Confidentiality: shared-base link exposes member email addresses.
  • Integrity: shared-base link can mutate base ACL state by creating new members.
  • Persistence: link-based access converts into durable authenticated access that survives revocation of the share.

Credit

This issue was reported by @0xmrma.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package nocodb <= 0.301.3 no fix

References

CVSS score 5.8/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Weakness (CWE)
CWE-285
Platform
npm
Package
nocodb
Disclosed
21.05.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-chqv-vrj7-qffp - CC BY 4.0

Vulnerability history: nocodb

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (54) in the archive
Total entries
54
First → latest
06.2022 06.2026
Without a fix
13
Exploited in attacks
0

Severity breakdown

  • High 7
  • Medium 41
  • Low 6

Disclosures per year

  1. 2022: 5
  2. 2023: 2
  3. 2024: 3
  4. 2025: 1
  5. 2026: 43
Severity:
  1. High CVE-2026-47387 < 2026.05.1 2026.05.1
  2. High CVE-2026-47383 < 2026.05.1 2026.05.1
  3. NocoDB: Shared-base link access can invite arbitrary users as persistent base members this entry
    Medium · 5.8 CVE-2026-46552 <= 0.301.3 no fix
  4. High · 7.3 CVE-2023-49781 < 0.202.9 0.202.9
  5. High · 8.8 CVE-2022-2064 < 0.91.9 0.91.9
  6. High · 8.8 CVE-2022-2063 < 0.91.8 0.91.8
  7. High · 7.5 CVE-2022-2062 < 0.91.7 0.91.7

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.