{"id":"CVE-2026-114137","summary":"Django REST framework: TokenProxy.delete() reports success and revokes nothing","details":"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.","aliases":["GHSA-xw6w-gcfp-cf8m"],"modified":"2026-10-22T10:46:12.610660420Z","published":"2026-10-21T20:06:57.790Z","database_specific":{"cwe_ids":["CWE-390","CWE-613"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114137.json","cna_assigner":"GitHub_M"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114137.json"},{"type":"FIX","url":"https://github.com/encode/django-rest-framework/commit/af3fabfd517307fbc5d500fba1ab8f6e25f220b0"},{"type":"WEB","url":"https://github.com/encode/django-rest-framework/releases/tag/3.18.2"},{"type":"ADVISORY","url":"https://github.com/encode/django-rest-framework/security/advisories/GHSA-xw6w-gcfp-cf8m"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114137"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/encode/django-rest-framework","events":[{"introduced":"6f7aad8ffa96226672eacb82ab003dcf01070ed3"},{"fixed":"69694a17d0b6ac14b4ea4d77916b73c68dc5a3e8"},{"fixed":"af3fabfd517307fbc5d500fba1ab8f6e25f220b0"}],"database_specific":{"extracted_events":[{"strategy":"StringRangeExpression","range":[{"introduced":"3.12.0"},{"fixed":"3.18.2"}],"source":"AFFECTED_FIELD"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"af3fabfd517307fbc5d500fba1ab8f6e25f220b0"}]},{"range":[{"fixed":"69694a17d0b6ac14b4ea4d77916b73c68dc5a3e8"}],"source":"REFERENCES_TAG","original_tag":"3.18.2"}]}}],"versions":["3.18.1","3.18.0","3.17.1","3.17.0","3.16.1","3.16.0","3.15.2","3.15.1","3.15.0","3.14.0","3.13.1","3.13.0","3.12.4","3.12.3","3.12.1","3.12.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114137.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}