Python 3.10 llega al fin de su vida útil y cinco versiones corrigen 8 CVE
Python 3.10.22 es la última versión de la rama 3.10: llegó al fin de su vida útil el 1 de octubre de 2026, mientras 3.11 a 3.14 recibían correcciones para hasta ocho CVE.
4 min de lectura

En cifras
- 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 llegó al fin de su vida útil el 1 de octubre de 2026, cinco años después de su lanzamiento. Su última actualización, Python 3.10.22, llegó junto con 3.11.17, 3.12.15, 3.13.16 y 3.14.8. En conjunto, corrigen ocho fallos de seguridad. Quien siga usando 3.10 ya no recibirá más correcciones, ni siquiera para errores de seguridad.
La misma tanda hace que Python 3.13 pase a recibir solo correcciones de seguridad. Python 3.14 es la rama más reciente de la tanda.
Qué significa el fin de vida útil para 3.10
El "fin de vida útil" significa que el equipo principal de Python deja de mantener una versión. Ya no salen versiones nuevas para ella, aunque se descubra un nuevo agujero de seguridad. El anuncio del lanzamiento en Python Insider marca el momento sin rodeos: "Este es el ringdown de Python 3.10. Una última versión antes de apagar la maquinaria de publicación."
Pablo Galindo Salgado dirigió las líneas de versiones 3.10 y 3.11, según Linux Compatible. La despedida recuerda que Python 3.10 empezó "con un viaje al interior de un agujero negro de Schwarzschild", y también termina con agujeros negros. Thomas Wouters y Hugo van Kemenade, los otros responsables de versiones, también firmaron el anuncio.
Así queda cada rama con soporte, según la publicación del lanzamiento:
| Versión | Este lanzamiento | Estado | Fin del soporte |
|---|---|---|---|
| 3.10 | 3.10.22 | Fin de vida útil | 1 de octubre de 2026 |
| 3.11 | 3.11.17 | Solo correcciones de seguridad | Octubre de 2027 |
| 3.12 | 3.12.15 | Solo correcciones de seguridad | Octubre de 2028 |
| 3.13 | 3.13.16 | Ahora solo correcciones de seguridad | No indicado en este lanzamiento |
| 3.14 | 3.14.8 | Rama más reciente | No indicado en este lanzamiento |
La publicación dice que 3.13.16 "es la última versión de mantenimiento completa de 3.13; las futuras versiones de 3.13 solo contendrán correcciones de seguridad."
Las ocho correcciones de seguridad
Una CVE es un número de identificación público para un fallo de seguridad conocido. La publicación del lanzamiento enumera ocho. Todas se incluyen en cada versión, excepto CVE-2026-87910, que no se aplica a 3.14.
| CVE | Módulo | Qué hace la corrección |
|---|---|---|
| CVE-2026-19553 | ssl | SSLContext.wrap_bio() ahora comprueba sus argumentos server_side, server_hostname y session |
| CVE-2026-82049 | tarfile | Cierra un hueco en el filtro de extracción con enlaces duros a enlaces simbólicos que podía exponer archivos fuera de la carpeta de destino |
| CVE-2026-15310 | zipfile | Limita cuántos datos bzip2 y LZMA se descomprimen por lectura, lo que evita un uso de memoria sin límite |
| CVE-2026-19672 | tarfile | Impide que los filtros de extracción creen carpetas fuera del destino |
| CVE-2026-19445 | ssl | Corrige un cierre inesperado cuando un callback SNI cambia de contexto |
| CVE-2026-17084 | stringprep, IDNA | Limita ambos a las reglas de caracteres Unicode de RFC 3454 |
| CVE-2026-15806 | urllib.request | Separa las contraseñas de HTTPPasswordMgr por esquema de URL, para que las credenciales HTTPS no se usen indebidamente |
| CVE-2026-87910 | tarfile | Aplica los filtros de extracción cuando un enlace recurre a extraer un miembro del archivo |
Tres de las ocho están en tarfile, el módulo de la biblioteca estándar que descomprime archivos .tar. Sus filtros de extracción son las comprobaciones de seguridad que impiden que un archivo comprimido escriba ficheros fuera de la carpeta en la que lo descomprimes. Las tres correcciones cierran huecos en esas comprobaciones.
Instaladores y OpenSSL
Solo dos de las cinco versiones traen instaladores listos para usar. Según el anuncio en Python Discourse, 3.10.22, 3.11.17 y 3.12.15 se publican solo como código fuente, sin instaladores para Windows ni macOS. Python 3.13.16 y 3.14.8 sí los incluyen.
Esas dos también actualizan el OpenSSL incluido, la biblioteca que Python usa para las conexiones cifradas, a la versión 3.5.9. Esto se aplica a las compilaciones para Windows, macOS y Android, y 3.14.8 también cubre iOS.
Qué significa esto para los desarrolladores
Abandona Python 3.10 ya. Revisa cada lugar donde se fija una versión: imágenes base de Docker, matrices de pruebas de CI, archivos pyproject.toml e imágenes de servidor. A partir de ahora, ninguna imagen de 3.10 recibirá otra corrección de seguridad.
Elige tu destino teniendo en cuenta las fechas de soporte. Pasar a 3.11 solo te da un año, hasta octubre de 2027. Pasar a 3.12 te da dos. Si vas a hacer el trabajo de todos modos, 3.13 o 3.14 ofrecen el mayor margen.
Aplica los parches primero si descomprimes archivos que no creaste tú. Los servicios que aceptan archivos .tar o .zip subidos por usuarios están afectados por las correcciones de tarfile y zipfile. Actualiza esos primero y mantén activados los filtros de extracción en tu propio código.
Revisa urllib si envías contraseñas con él. La corrección de HTTPPasswordMgr impide que las credenciales pensadas para HTTPS se reutilicen con otro esquema. El código que define contraseñas de autenticación básica mediante urllib.request debería pasar a las versiones corregidas.
Prevé compilaciones desde el código fuente en las ramas antiguas. En Windows y macOS, las correcciones de 3.11 y 3.12 llegan sin instaladores. Obtenlas de tu distribución Linux, de una imagen de contenedor o de una herramienta que compile Python desde el código fuente.
Fuentes
Artículos relacionados

Un XSS en los logs de build de SourceHut permitía tomar el control de cuentas
Un log de build manipulado podía ejecutar código en el navegador de un usuario de SourceHut. ansi2html 1.9.4 corrige el fallo, CVE-2026-92973, que afectaba a las versiones 1.7.0 a 1.9.3.

Rejetto HFS CVE-2026-61500, explotada un día después de publicarse su análisis
HFS 3.0.0 a 3.2.0 firma los inicios de sesión con Math.random(), un fallo que encontró Mythos de Anthropic. Los ataques empezaron el 3 de octubre, un día después del análisis. La 3.2.1 lo corrige.

Python 3.15.0 final se retrasa al 9 de octubre tras una rc3 sorpresa
Python 3.15.0rc3 salió el 2 de octubre para corregir errores de última hora en las importaciones diferidas, y retrasa una semana la versión final de Python 3.15.0, hasta el 9 de octubre de 2026.