VDB
KO
MEDIUM

GHSA-g72g-r7m4-9x4g

NocoDB: OAuth Tokens Persist Through Security Events

Details

### Summary 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.

### Details `revokeAllOAuthTokensByUser` in the users service was an empty stub being called from `passwordChange`, `passwordForgot`, and `passwordReset`. It now delegates to `OAuthToken.revokeAllByUser(userId)`, which deletes the rows and invalidates the related auth caches. All three reset/recovery flows now consistently revoke refresh tokens (GHSA-r989-7g3j-wjhw), OAuth tokens (this advisory), and rotate `token_version`.

### Impact Persistent unauthorized access through previously issued OAuth tokens after a documented security event (password change, forgot, or reset).

### Credit This issue was reported by [@bugbunny-research](https://github.com/bugbunny-research).

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / nocodb
Introduced in: 0 Fixed in: 2026.05.1
Fix npm install nocodb@2026.05.1

References