CVE-2025-30351: Suspended Directus user can continue to use session token to access API
Summary Since the user status is not checked when verifying a session token a suspended user can use the token generated in session auth mode to access the API despite their status.
Details There is a check missing in verifySessionJWT to verify that a user is actually still active and allowed to access the API. Right now one can extract the session token obtained by, e.g. login in to the app while still active and then, after the user has been suspended continue to use that token until it expires.
PoC Create an active user Log in with that user and note the session cookie Suspend the user (and don't trigger an /auth/refresh call, as that invalidates the session Access the API with Authorization: Bearer <token>
Impact This weakens the security of suspending users.
Other sources
Directus is a real-time API and App dashboard for managing SQL database content. Starting in version 10.10.0 and prior to version 11.5.0, a suspended user can use the token generated in session auth mode to access the API despite their status. This happens because there is a check missing in verifySessionJWT to verify that a user is actually still active and allowed to access the API. One can extract the session token obtained by, e.g. login in to the app while still active and then, after the user has been suspended continue to use that token until it expires. Version 11.5.0 patches the issue.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/@directus/typesto a version that resolves this vulnerability.Fixed in 13.0.0 - Upgrade
Upgrade
npm/@directus/apito a version that resolves this vulnerability.Fixed in 24.0.1 - Upgrade
Upgrade
npm/directusto a version that resolves this vulnerability.Fixed in 11.5.0 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 11.5.0 - Compensating control
If you have suspended users, prevent them from authenticating with any still-valid session tokens (e.g., by invalidating/clearing active sessions server-side) until you upgrade to version 11.5.0.
Event History
Frequently Asked Questions
What is the severity of CVE-2025-30351?
CVE-2025-30351 has been classified as a high-severity vulnerability due to its potential to allow suspended users to access secured APIs.
How do I fix CVE-2025-30351?
To address CVE-2025-30351, ensure the session token verification process checks the user's status before granting access.
What software versions are affected by CVE-2025-30351?
CVE-2025-30351 affects directus versions between 10.10.0 and 11.15.0.
What is the main issue with CVE-2025-30351?
The main issue with CVE-2025-30351 is that user status is not verified, allowing access to the API by suspended users.
When was CVE-2025-30351 disclosed?
CVE-2025-30351 was disclosed in 2025 following an identification of the status verification issue within the software.