Vulnerability Description
Django REST framework is a toolkit for building Web APIs. From 3.12.0 until 3.18.2, TokenProxy.delete() in rest_framework/authtoken/models.py uses the proxy's user-id pk while the concrete Token token-string primary key identifies rows, so Django issues a deletion query that matches no row and reports zero deletions without raising an error. Applications, administrative integrations, or operational scripts that revoke credentials through a TokenProxy instance can therefore believe revocation succeeded while the token remains live and continues authenticating. DRF's own TokenAdmin.delete_model workaround is not affected, but other callers can leave access available indefinitely because DRF tokens do not expire automatically. This issue is fixed in version 3.18.2.
CVSS Score
HIGH
Related Weaknesses (CWE)
References
- https://github.com/encode/django-rest-framework/commit/af3fabfd517307fbc5d500fba
- https://github.com/encode/django-rest-framework/releases/tag/3.18.2
- https://github.com/encode/django-rest-framework/security/advisories/GHSA-xw6w-gc
FAQ
What is CVE-2026-114137?
CVE-2026-114137 is a vulnerability with a CVSS score of 7.4 (HIGH). Django REST framework is a toolkit for building Web APIs. From 3.12.0 until 3.18.2, TokenProxy.delete() in rest_framework/authtoken/models.py uses the proxy's user-id pk while the concrete Token token...
How severe is CVE-2026-114137?
CVE-2026-114137 has been rated HIGH with a CVSS base score of 7.4/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-114137?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.