CVE-2026-114137: Django REST framework token deletion bypass

CVE-2026-114137 · Severity: high · CVSS 7.4 · Published 2026-10-21

Django REST framework is a widely-used toolkit for building web APIs that manage authentication tokens. A flaw in the token revocation mechanism allows administrative tools and scripts to believe they have successfully revoked authentication credentials when they actually have not, leaving those tokens active and able to authenticate indefinitely. An attacker who compromises an admin account or automation script could exploit this to maintain unauthorized access even after revocation attempts.

Technologies: Django Software Foundation Django REST framework, djangorestframework (PyPI). Vendors: Django Software Foundation, PyPI.

Quick answers

Is CVE-2026-114137 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-114137 being exploited in the wild.
How severe is CVE-2026-114137?
High severity, with a CVSS score of 7.4, published 21 October 2026.
Which products and versions are affected?
Django Software Foundation Django REST framework 3.12.0 until 3.18.2; djangorestframework (PyPI) >= 3.12.0, < 3.18.2, ECOSYSTEM:introduced=3.12.0,fixed=3.18.2.
Is there a fix for CVE-2026-114137?
Yes. djangorestframework (PyPI): upgrade to 3.18.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-114137 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-114137?
Check whether you run Django Software Foundation Django REST framework or djangorestframework (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • djangorestframework (PyPI): upgrade to 3.18.2 or later
    pip install "djangorestframework>=3.18.2"

Technical details

The TokenProxy.delete() method in rest_framework/authtoken/models.py uses the proxy's user-id primary key for deletion queries, but the actual Token token's primary key is the token string itself. This mismatch causes Django's deletion to match no rows and silently report success, leaving the token active. The vulnerability affects deletion through TokenProxy instances and proxy querysets, though DRF's own TokenAdmin.delete_model() workaround is not affected. Since DRF tokens do not expire automatically, revoked tokens remain valid indefinitely.

Affected products

  • Django Software Foundation Django REST framework 3.12.0 until 3.18.2

Identifiers

  • CVE-2026-114137
  • GHSA-xw6w-gcfp-cf8m

Timeline

  • 2026-10-21: disclosed
  • 2026-10-06: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.