Skip to content
Threat Feed
high advisory

Django REST framework: Token revocation failure (CVE-2026-114137)

Django REST framework versions 3.12.0 through 3.18.1 contain a logic flaw where TokenProxy.delete() uses an incorrect primary key, causing credential revocation attempts to fail silently.

CVE search metadata

CVE search record: CVE-2026-114137. Severity: high. CVSS: 7.4. KEV: no. Product: Django REST framework (3.12.0 - 3.18.1). Brief: Django REST framework: Token revocation failure (CVE-2026-114137). Brief link: https://feed.craftedsignal.io/briefs/2026-10-django-rest-token-revocation/

Triage facts

Revision 1
Applicability
Django REST framework (3.12.0 - 3.18.1)
Evidence
Unknown
Severity
High
Action
Elevated
Sources
1 public source
Freshness
Revision 1Oct 21, 21:41 UTC
Vulnerabilities
1 CVE
Source quality
A1Likely

Django REST framework versions 3.12.0 to 3.18.1 contain a logic vulnerability in the TokenProxy.delete() method within rest_framework/authtoken/models.py. The method incorrectly uses the user ID primary key instead of the token string primary key when executing database deletion queries. As a result, the query fails to locate the target record and reports zero deletions without triggering an error or exception.

Any application, administrative integration, or operational script relying on this method to revoke access will incorrectly process the operation as successful. Because Django REST framework tokens do not expire automatically, this vulnerability allows revoked or compromised tokens to remain active indefinitely, granting continued unauthorized access to APIs. This issue is fixed in version 3.18.2.

Impact

Attackers can maintain persistent access to APIs despite administrator attempts to revoke their credentials. The silent failure prevents security monitoring tools or automated lifecycle management scripts from detecting that the token remains valid in the database.

Recommendation

  • Upgrade Django REST framework to version 3.18.2 or later immediately.
  • Audit custom scripts, management commands, and administrative API integrations that perform token revocation to ensure they do not rely on TokenProxy.delete().
  • For affected systems, perform a database audit to identify orphaned or unintended active tokens that were mistakenly thought to be deleted by automated processes.
  • Transition to using explicit record deletion methods, such as Token.objects.filter(key=...).delete(), which correctly target the token string primary key.

Immediate actions

Upgrade Django REST framework to version 3.18.2

IT Operations 48h

Enrichment needed

  • Application audit of token revocation logic (Detection Engineering) Identify if the application uses the vulnerable TokenProxy.delete() method in custom code