Python 3.10 arrive en fin de vie, cinq versions corrigent 8 CVE
Python 3.10.22 est la dernière version de la branche 3.10 : elle a atteint sa fin de vie le 1er octobre 2026, tandis que 3.11 à 3.14 recevaient des correctifs pour jusqu'à huit CVE.
4 min de lecture

En chiffres
- CVEs fixed across the five releases
- 8
- of them in the tarfile module
- 3
- end of support for Python 3.11
- Oct 2027
- end of support for Python 3.12
- Oct 2028
Python 3.10 a atteint sa fin de vie le 1er octobre 2026, cinq ans après sa sortie. Sa dernière mise à jour, Python 3.10.22, est arrivée en même temps que 3.11.17, 3.12.15, 3.13.16 et 3.14.8. Ensemble, elles corrigent huit failles de sécurité. Quiconque utilise encore 3.10 ne reçoit désormais plus aucun correctif, y compris pour les bugs de sécurité.
La même série fait passer Python 3.13 aux seuls correctifs de sécurité. Python 3.14 est la branche la plus récente de la série.
Ce que la fin de vie signifie pour 3.10
La « fin de vie » signifie que l'équipe principale de Python cesse de maintenir une version. Plus aucune version ne sort pour elle, même quand une nouvelle faille de sécurité est découverte. L'annonce de la version sur Python Insider marque le moment sans détour : « C'est le ringdown de Python 3.10. Une dernière version avant d'éteindre la machinerie de publication. »
Pablo Galindo Salgado a géré les lignes de versions 3.10 et 3.11, rapporte Linux Compatible. Le message d'adieu rappelle que Python 3.10 a commencé « par un voyage à l'intérieur d'un trou noir de Schwarzschild », et il se termine lui aussi sur des trous noirs. Thomas Wouters et Hugo van Kemenade, les autres responsables des versions, ont également signé l'annonce.
Voici où en est chaque branche prise en charge, selon l'annonce :
| Version | Cette publication | Statut | Fin du support |
|---|---|---|---|
| 3.10 | 3.10.22 | Fin de vie | 1er octobre 2026 |
| 3.11 | 3.11.17 | Correctifs de sécurité uniquement | Octobre 2027 |
| 3.12 | 3.12.15 | Correctifs de sécurité uniquement | Octobre 2028 |
| 3.13 | 3.13.16 | Désormais correctifs de sécurité uniquement | Non précisée dans cette publication |
| 3.14 | 3.14.8 | Branche la plus récente | Non précisée dans cette publication |
L'annonce indique que 3.13.16 « est la dernière version de maintenance complète de 3.13 ; les futures versions de 3.13 ne contiendront que des correctifs de sécurité. »
Les huit correctifs de sécurité
Une CVE est un numéro d'identification public attribué à une faille de sécurité connue. L'annonce en liste huit. Toutes sont incluses dans chaque version, sauf CVE-2026-87910, qui ne concerne pas 3.14.
| CVE | Module | Ce que fait le correctif |
|---|---|---|
| CVE-2026-19553 | ssl | SSLContext.wrap_bio() vérifie désormais ses arguments server_side, server_hostname et session |
| CVE-2026-82049 | tarfile | Comble une faille du filtre d'extraction liée aux liens physiques vers des liens symboliques, qui pouvait exposer des fichiers hors du dossier cible |
| CVE-2026-15310 | zipfile | Limite la quantité de données bzip2 et LZMA décompressées à chaque lecture, ce qui évite une consommation de mémoire illimitée |
| CVE-2026-19672 | tarfile | Empêche les filtres d'extraction de créer des dossiers hors de la cible |
| CVE-2026-19445 | ssl | Corrige un plantage quand un callback SNI change de contexte |
| CVE-2026-17084 | stringprep, IDNA | Limite les deux aux règles de caractères Unicode de la RFC 3454 |
| CVE-2026-15806 | urllib.request | Cloisonne les mots de passe de HTTPPasswordMgr par schéma d'URL, pour que les identifiants HTTPS ne soient pas détournés |
| CVE-2026-87910 | tarfile | Applique les filtres d'extraction quand un lien se rabat sur l'extraction d'un membre de l'archive |
Trois des huit concernent tarfile, le module de la bibliothèque standard qui décompresse les archives .tar. Ses filtres d'extraction sont les contrôles de sécurité qui empêchent une archive d'écrire des fichiers hors du dossier dans lequel vous la décompressez. Les trois correctifs comblent des lacunes dans ces contrôles.
Installateurs et OpenSSL
Seules deux des cinq versions sont livrées avec des installateurs prêts à l'emploi. Selon l'annonce sur Python Discourse, 3.10.22, 3.11.17 et 3.12.15 sont publiées uniquement sous forme de code source, sans installateurs Windows ni macOS. Python 3.13.16 et 3.14.8 en proposent.
Ces deux versions mettent aussi à jour l'OpenSSL intégré, la bibliothèque que Python utilise pour les connexions chiffrées, vers la version 3.5.9. Cela s'applique aux builds Windows, macOS et Android, et 3.14.8 couvre aussi iOS.
Ce que cela signifie pour les développeurs
Quittez Python 3.10 dès maintenant. Vérifiez chaque endroit où une version est figée : images Docker de base, matrices de tests CI, fichiers pyproject.toml et images de serveur. Désormais, aucune image 3.10 ne recevra de nouveau correctif de sécurité.
Choisissez votre cible en tenant compte des dates de support. Passer à 3.11 ne vous donne qu'un an, jusqu'en octobre 2027. Passer à 3.12 vous en donne deux. Si vous faites le travail de toute façon, 3.13 ou 3.14 offre la plus longue marge.
Appliquez d'abord les correctifs si vous décompressez des archives que vous n'avez pas créées. Les services qui acceptent des fichiers .tar ou .zip envoyés en ligne sont concernés par les correctifs de tarfile et de zipfile. Mettez-les à jour en premier, et gardez les filtres d'extraction activés dans votre propre code.
Vérifiez urllib si vous l'utilisez pour envoyer des mots de passe. Le correctif de HTTPPasswordMgr empêche que des identifiants prévus pour HTTPS soient réutilisés avec un autre schéma. Le code qui définit des mots de passe d'authentification basique via urllib.request doit passer aux versions corrigées.
Prévoyez des compilations depuis les sources pour les anciennes branches. Sous Windows et macOS, les correctifs de 3.11 et 3.12 arrivent sans installateurs. Récupérez-les via votre distribution Linux, une image de conteneur ou un outil qui compile Python depuis les sources.
Sources
Articles liés

Une faille XSS dans les logs de build de SourceHut permettait de pirater des comptes
Un log de build piégé pouvait exécuter un script dans le navigateur d'un utilisateur de SourceHut. ansi2html 1.9.4 corrige la faille CVE-2026-92973, qui touchait les versions 1.7.0 à 1.9.3.

Rejetto HFS CVE-2026-61500 exploitée un jour après la publication de son analyse
HFS 3.0.0 à 3.2.0 signe les connexions avec Math.random(), une faille trouvée par Mythos d'Anthropic. Les attaques ont commencé le 3 octobre, un jour après l'analyse. La 3.2.1 la corrige.

Python 3.15.0 final repoussé au 9 octobre après une rc3 surprise
Python 3.15.0rc3 est sorti le 2 octobre pour corriger des bugs tardifs des imports paresseux, ce qui repousse d'une semaine la version finale de Python 3.15.0, au 9 octobre 2026.