Aller au contenu
Développeur Full Stack
, ,

Django : suppression possible d’objets hors du queryset d’un formset — CVE-2026-87975

Dans cet article 4 rubriques
Veille sécuritéBackend & données
P4Moyenne

Dans certaines configurations de formsets Django, un utilisateur authentifié autorisé à soumettre le formulaire peut faire supprimer des enregistrements situés hors du queryset limité, sans disposer de droits sur ces objets. Le défaut concerne les modèles dont la clé primaire peut être renseignée par le formulaire ; les modèles utilisant la clé primaire AutoField par défaut ne sont pas concernés.

Django
IdentifiantCVE-2026-87975
GravitéMoyenne
Exploitationnon connue / non déterminée
Correctif5.2.18, 6.0.9 et 6.1.2

Source : NVD — CVE-2026-87975

Analyse technique

BaseModelFormSet.save_existing_objects() pouvait prendre la présence d’une clé primaire sur l’instance soumise comme preuve qu’elle appartenait au queryset du formset. Un formulaire forgé avec des données de gestion marquant l’objet pour suppression pouvait ainsi viser un objet hors queryset, notamment avec une clé primaire naturelle, UUID ou OneToOneField acceptée par le formulaire.

Impact, versions et correctif

Événement datéLa fiche NVD indique une publication le 2026-10-06 à 14:17:47.580Z, dans la période demandée ; l’avis décrit une vulnérabilité Django et les versions corrigées.
ImpactUn utilisateur authentifié autorisé à soumettre un formset concerné peut supprimer des enregistrements hors du queryset limité, sans autorisation sur l’objet ciblé.
Versions affectéesDjango 5.2 avant 5.2.18, 6.0 avant 6.0.9 et 6.1 avant 6.1.2 ; les séries antérieures non prises en charge n’ont pas été évaluées et peuvent également être affectées.
Version corrigée5.2.18, 6.0.9 et 6.1.2
Exploitation activenon connue / non déterminée
PoC publicinconnu
CVSS5.3
Publication2026-10-06T14:17:47.580Z
Mise à jour2026-10-06T14:17:47.720Z

Action recommandée

Mettre à jour vers Django 5.2.18, 6.0.9 ou 6.1.2 selon la branche utilisée.

Sources

Priorisation DFS : P4 · 1 source(s).

Article précédent :
Article suivant :