Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain victim's OAuth access/refresh tokens via phishing or prior compromise
-
DeliveryVictim performs password change or reset expecting session termination
-
ExploitEmpty stub silently skips token revocation
-
ExecutionAttacker continues authenticating with stale OAuth tokens
-
ImpactMaintain persistent unauthorized access to victim's NocoDB databases
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Exploitation requires that the attacker already possesses valid OAuth access and/or refresh tokens for the target NocoDB user account, obtained prior to the victim's password security event. The vulnerable condition is triggered specifically when the victim performs a passwordChange, passwordForgot, or passwordReset operation - the three flows that invoke the empty stub - believing this action will revoke all active sessions. Deployments that have not configured OAuth authentication and use only NocoDB's local authentication mechanism are not affected by token persistence, as there are no OAuth tokens to persist. Exploitation is further limited by the attacker needing to maintain access to valid tokens from the initial compromise; if tokens have expired naturally or been invalidated through other means, the attack window closes. The CVSS 4.0 AT:P metric confirms the prerequisite dependency: this is not exploitable against a default NocoDB installation without a prior token-acquisition step. |
| Impact | The vendor-assigned CVSS 4.0 score of 6.3 with AT:P correctly signals that exploitation is conditional - the attacker must have obtained valid OAuth tokens before the victim's remediation attempt. This is a persistence-maintenance vulnerability, not an initial-access vulnerability, which bounds its real-world severity considerably. EPSS data was not provided in the available intelligence, so exploitation probability cannot be independently quantified. There is no CISA KEV listing and no public exploit code has been identified, consistent with the targeted, prerequisite-heavy nature of the flaw. The vendor impact metrics (VI:L only, VC:N) reflect that no new access tier is gained - the attacker simply retains whatever access level the OAuth grant originally provided. For organizations where NocoDB OAuth is actively used and where credential theft is a realistic threat model (e.g., shared or externally-accessible instances), the risk is meaningful: password reset as a remediation action would provide false confidence. For deployments using only local authentication without OAuth, risk is negligible. The AT:P metric in the provided CVSS 4.0 vector is consistent with the description; no conflicting signals exist in the available data. |
| Exploit ScenarioDerived | An attacker who previously obtained a NocoDB user's OAuth access and refresh tokens - through phishing, a malicious OAuth application grant, or credential theft - continues to use those tokens to authenticate against the victim's account after the victim performs a password reset specifically to terminate unauthorized sessions. Because the revocation stub does nothing, the attacker's OAuth session silently persists with full account-level access to the victim's databases and spreadsheets. No public exploit code is known, but the attack requires nothing more than a standard OAuth token usage pattern once the prerequisite tokens are in hand. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 23, 2026
OAuth token persistence in NocoDB allows an attacker who previously obtained a user's OAuth credentials to maintain unauthorized account access even after the victim performs a password change, reset, or recovery - the exact security actions taken to revoke attacker access. All NocoDB versions up to 2026.05.0 (npm package: nocodb) are affected due to revokeAllOAuthTokensByUser being implemented as an empty stub in the users service, meaning no OAuth or refresh tokens were ever actually invalidated by any of the three password security flows. No public exploit has been identified at time of analysis, and a vendor-released patch is available in 2026.05.1.
RemediationAI
Vendor-released patch: NocoDB 2026.05.1. Upgrade the nocodb npm package to 2026.05.1 or later, which replaces the empty stub with a real implementation that calls OAuthToken.revokeAllByUser(userId), deletes OAuth token rows, invalidates related auth caches, and rotates token_version across all three flows (passwordChange, passwordForgot, passwordReset). The vendor advisory is at https://github.com/nocodb/nocodb/security/advisories/GHSA-g72g-r7m4-9x4g. If an immediate upgrade is not possible, administrators can manually purge active OAuth tokens from the database for any user who has recently changed or reset their password - this requires direct database access to delete rows from the OAuth token table and is a one-time remediation per affected user, not a permanent fix. As a compensating control, disabling OAuth authentication entirely (if the deployment can function without it) eliminates the token persistence risk, though at the cost of OAuth-based SSO functionality. Note that this fix is bundled with the GHSA-r989-7g3j-wjhw refresh token revocation fix in the same 2026.05.1 release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
NocoDB is an open-source platform (npm package: nocodb, CPE: cpe:2.3:a:nocodb:nocodb:*:*:*:*:*:*:*:*) that exposes relational databases through a spreadsheet-style UI. The vulnerability resides in the users service, where revokeAllOAuthTokensByUser was wired into three password lifecycle handlers - passwordChange, passwordForgot, and passwordReset - but was coded as an empty stub with no implementation body. Consequently, those handlers never called OAuthToken.revokeAllByUser(userId), never deleted token rows from the OAuth token store, never invalidated related auth caches, and never rotated token_version. CWE-613 (Insufficient Session Expiration) is the applicable root cause class: credential lifecycle events that should trigger session termination silently fail to do so, leaving OAuth access and refresh tokens valid indefinitely. The advisory notes this is a sibling to GHSA-r989-7g3j-wjhw (refresh token revocation), and the 2026.05.1 fix addresses both consistently across all three flows.
Know when Nocodb gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
AC:H reflects the prerequisite of prior OAuth token possession; C:L and I:L capture retained unauthorized account access; AV:N because token usage is network-based.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
NocoDB is software for building databases as spreadsheets. Prior to 2026.05.1, revokeAllOAuthTokensByUser in the users service is an empty stub being called from passwordChange, passwordForgot, and passwordReset. OAuth access and refresh tokens were not revoked when the user changed, reset, or recovered their password, leaving an attacker-issued OAuth grant valid after the user believed they had locked the attacker out. This vulnerability is fixed in 2026.05.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NocoDB spreadsheet platform prior to 0.301.0 has a stored XSS vulnerability (CVSS 9.0) that enables code execution throu
Insufficient Session Expiration in GitHub repository nocodb/nocodb prior to 0.91.7+. Rated high severity (CVSS 8.8), thi
Improper Privilege Management in GitHub repository nocodb/nocodb prior to 0.91.7+. Rated high severity (CVSS 8.8), this
NocoDB through 0.106.0 (or 0.109.1) has a path traversal vulnerability that allows an unauthenticated attacker to access
With this SSRF vulnerability, an attacker can reach internal addresses to make a request as the server and read it's con
Generation of Error Message Containing Sensitive Information in GitHub repository nocodb/nocodb prior to 0.91.7+. Rated
Improper Input Validation in GitHub repository nocodb/nocodb prior to 0.96.0. Rated medium severity (CVSS 6.5), this vul
Allocation of Resources Without Limits or Throttling in GitHub repository nocodb/nocodb prior to 0.92.0. Rated medium se
NocoDB versions prior to 0.301.0 contain an open redirect vulnerability in the login flow where the `continueAfterSignIn
NocoDB is software for building databases as spreadsheets. Rated medium severity (CVSS 5.4), this vulnerability is remot
Cross-site Scripting (XSS) - Stored in GitHub repository nocodb/nocodb prior to 0.91.7+. Rated medium severity (CVSS 5.4
Cross-site Scripting (XSS) - Stored in GitHub repository nocodb/nocodb prior to 0.91.7. Rated medium severity (CVSS 5.4)
EUVD-2026-38610
GHSA-g72g-r7m4-9x4g
NVD
CVE.org
EPSS
VulDB
Exploit-DB