Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-114137— Django REST framework: TokenProxy.delete() reports success and revokes nothing

Quick assessment

Affected
encode django-rest-framework
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Django REST framework(DRF)是一个用于构建 Web API 的工具包。在版本 3.12.0 至 3.18.2 期间, 中的 方法错误地使用了代理模型的 主键,而实际的 模型是以 作为主键来标识数据行的。这导致 Django 执行的删除查询无法匹配任何行,进而报告“删除零条记录”且未抛出异常。因此,任何通过 实例来撤销凭证的应用程序、管理集成或运维脚本,都会误以为撤销操作已成功,而实际上令牌仍然有效并持续用于身份认证。DRF 自带的 变通方案不受此问题影响,但其他调用方可能因 DRF 令牌默认

CVSS 7.4 · High

Possible ATT&CK Techniques 1 AI

T1552.004 · Private Keys
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-114137

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Django REST framework: TokenProxy.delete() reports success and revokes nothing
Source: CVE Program / CVE List V5
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
未有动作错误条件的检测
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
encode django-rest-framework >= 3.12.0, < 3.18.2 -

II. Public POCs for CVE-2026-114137

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-114137

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-114137 (1)

Vendor Advisories for CVE-2026-114137 (1)

Vendor Pages for CVE-2026-114137 (1)

Same Patch Batch · encode · 2026-10-21 · 3 CVEs total

CVE-2026-114136 7.5 HIGH Django REST framework: JSONParser applies an attacker-named codec to the request stream
CVE-2026-114138 7.5 HIGH Django REST framework: Accept header with many large quoted parameters burns ~19s of CPU p

IV. Related Vulnerabilities

V. Comments for CVE-2026-114137

No comments yet


Leave a comment