CVE-2026-114137
Publiée le 2026-10-21 · Dernière modification le 2026-10-23
Les versions 3.12.0 à 3.18.1 de Django REST framework sont concernées. Cette boîte à outils est utilisée pour construire des API Web et inclut un système de gestion des jetons d'authentification. Une faille dans la fonction `TokenProxy.delete()` fait en sorte qu'elle recherche les jetons en utilisant le mauvais identifiant, ce qui signifie que le système signale une suppression réussie alors que le jeton reste actif dans la base de données.
Un attaquant disposant d'un jeton révoqué peut ainsi maintenir un accès complet à l'API, compromettant à la fois la confidentialité et l'intégrité de vos données. Cette exploitation ne nécessite aucun privilège particulier ni interaction de l'utilisateur, mais elle repose sur la condition spécifique qu'un administrateur ait tenté de révoquer un jeton via une instance proxy plutôt que par une référence directe au jeton.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
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.