Retour au blog
PythonDjangoSQL injection

Python et Django : pourquoi CVE-2025-64459 doit etre pris au serieux

Publié le 2026-04-116 min de lectureFlorian

Une faille importante dans un ecosysteme souvent percu comme prudent

Django beneficie d une reputation solide en matiere de securite. C est justement pour cela que CVE-2025-64459 est un bon sujet d etude. Selon l avis de securite relaye par Django et le CVE NVD, les methodes QuerySet.filter(), exclude(), get() et la classe Q() pouvaient etre sujettes a une injection SQL lorsqu un dictionnaire specialement construit etait deploye comme argument _connector.

Pourquoi ce cas merite l attention

Le message n est pas que l ORM Django est globalement peu fiable. Le message est plus utile : les abstractions securisantes restent conditionnelles. Elles reduisent le risque, mais elles ne le font pas disparaitre par magie lorsque des usages inattendus apparaissent.

Le CVE cite des versions corrigees precises, notamment 5.1.14, 4.2.26 et 5.2.8.

Ce que cette faille dit de Python web

L ecosysteme Python attire beaucoup d equipes qui valorisent la lisibilite, la rapidite de livraison et de bonnes primitives de securite. C est une bonne base. Mais cette culture peut parfois creer une confiance excessive dans les couches haut niveau.

Or, des qu un appel sort un peu des usages ordinaires, la discipline de revue redevient indispensable.

La vraie lecon

Avec Django, beaucoup de developpeurs pensent a raison qu ils evitent une grande partie des injections SQL classiques. Mais la bonne habitude n est pas de dire l ORM nous protege toujours. La bonne habitude est plutot : nous savons quelles hypotheses de securite l ORM tient reellement, et dans quels cas particuliers elles cessent de tenir.

Ce qu une equipe Django doit verifier

  • les versions du framework en production ;
  • les usages inhabituels de Q() et des expansions de dictionnaires ;
  • les morceaux de code utilitaire partages entre projets ;
  • les applications internes, souvent moins surveillees que les produits publics.
  • Notre lecture

    CVE-2025-64459 est un bon exemple de faille marquante pour Python web car elle frappe un point de confiance fort de l ecosysteme : l idee que le framework absorbe presque tous les risques de bas niveau.

    La conclusion utile n est pas de se mefier de Django. C est de se mefier des certitudes excessives sur ce que le framework couvre dans tous les cas.

    Articles liés

    Trois analyses proches pour continuer la lecture sur la meme surface de risque.

    Besoin d'une revue externe de votre SaaS RH ?

    Expliquez votre produit, votre stack et votre contexte client. Nous revenons vers vous avec le bon niveau de revue.

    Parler de votre audit