Plateforme
python
Composant
django
Corrigé dans
6.0.4
5.2.13
4.2.30
6.0.4
4.2.30
4.2.30
CVE-2026-4277 describes a permission validation bypass vulnerability discovered in Django versions 6.0, 5.2, and 4.2. An attacker can exploit this flaw by submitting forged POST data to manipulate inline model instances within GenericInlineModelAdmin, potentially leading to unauthorized modifications. Affected versions include those prior to 6.0.4, 5.2.13, and 4.2.30; a fix is available in the updated versions.
La CVE-2026-4277 affecte Django versions 6.0 (antérieures à 6.0.4), 5.2 (antérieures à 5.2.13) et 4.2 (antérieures à 4.2.30). La vulnérabilité réside dans le manque de validation des permissions lors de l'ajout de permissions à des instances de modèles en ligne dans GenericInlineModelAdmin. Un attaquant pourrait exploiter cela en soumettant des données POST falsifiées, ce qui pourrait permettre une modification non autorisée des permissions. Bien que l'évaluation initiale se soit concentrée sur les versions mentionnées, les séries Django non prises en charge (telles que 5.0.x, 4.1.x et 3.2.x) pourraient également être vulnérables. Cette faille pourrait entraîner une élévation de privilèges, permettant à un attaquant d'effectuer des actions auxquelles il ne serait normalement pas autorisé à effectuer dans l'application Django.
L'exploitation de cette vulnérabilité nécessite la capacité de soumettre des données POST à l'application Django. Un attaquant pourrait y parvenir en manipulant des formulaires web, en envoyant des requêtes POST directement via des outils tels que curl ou Postman, ou en exploitant d'autres vulnérabilités qui permettent l'injection de code. Le manque de validation des permissions dans GenericInlineModelAdmin permet à un attaquant d'ajouter des permissions à des instances de modèles en ligne sans autorisation appropriée. Le succès de l'exploitation dépend de la configuration de l'application et de la présence d'autres contrôles de sécurité qui pourraient atténuer l'impact de la vulnérabilité.
Applications utilizing Django's GenericInlineModelAdmin feature, particularly those with custom permission schemes or relying on implicit trust of user input, are at risk. Shared hosting environments where multiple applications share the same Django installation are also vulnerable if any application is running a vulnerable version.
• python / server:
# Check for vulnerable Django versions
python -c 'import django; print(django.get_version())'• python / application:
# Inspect Django settings for GenericInlineModelAdmin usage
# Review code for potential vulnerabilities in permission handling• generic web:
# Monitor access logs for suspicious POST requests targeting inline model endpoints
# Look for unusual parameters or data patternsdisclosure
Statut de l'Exploit
EPSS
0.06% (percentile 17%)
La solution consiste à mettre à jour Django vers la version 6.0.4, 5.2.13 ou 4.2.30, selon la version installée. Ces versions incluent des correctifs pour résoudre la vulnérabilité de validation des permissions. De plus, examinez tout code personnalisé utilisant GenericInlineModelAdmin pour vous assurer que des contrôles d'accès appropriés et des validations de données supplémentaires sont mis en œuvre. La mise en œuvre d'une politique de gestion des permissions robuste, y compris l'examen régulier des permissions des utilisateurs, est une pratique de sécurité recommandée. La surveillance des journaux de l'application à la recherche d'activités suspectes peut également aider à détecter et à répondre aux tentatives d'exploitation potentielles.
Actualice Django a la versión 6.0.4, 5.2.13 o 4.2.30 o superior para mitigar la vulnerabilidad. Esta actualización corrige una falla de validación en el manejo de permisos de instancias de modelos en línea, previniendo el abuso de privilegios a través de datos POST falsificados.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Les versions affectées sont Django 6.0 (antérieures à 6.0.4), 5.2 (antérieures à 5.2.13) et 4.2 (antérieures à 4.2.30).
Utilisez votre gestionnaire de paquets Python (pip) pour mettre à jour vers la dernière version : pip install Django==6.0.4 (ou la version appropriée pour votre cas).
Il est recommandé de passer à une version prise en charge de Django dès que possible. Si ce n'est pas possible, examinez attentivement le code personnalisé et mettez en œuvre des contrôles d'accès supplémentaires.
Bien que l'évaluation initiale se soit concentrée sur les versions mentionnées, les séries Django non prises en charge pourraient également être vulnérables. Il est conseillé de faire preuve de prudence.
Vous pouvez trouver plus d'informations dans l'annonce de sécurité de Django et la base de données de vulnérabilités CVE.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier requirements.txt et nous te dirons instantanément si tu es affecté.