Saltar al contenido

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.

Por Tech AI Wire Team

4 min de lectura

XLinkedIn
Screenshot of the Python Insider post announcing Python 3.10.22, 3.11.17, 3.12.15, 3.13.16 and 3.14.8, with download links for each release.

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ónEste lanzamientoEstadoFin del soporte
3.103.10.22Fin de vida útil1 de octubre de 2026
3.113.11.17Solo correcciones de seguridadOctubre de 2027
3.123.12.15Solo correcciones de seguridadOctubre de 2028
3.133.13.16Ahora solo correcciones de seguridadNo indicado en este lanzamiento
3.143.14.8Rama más recienteNo 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.

CVEMóduloQué hace la corrección
CVE-2026-19553sslSSLContext.wrap_bio() ahora comprueba sus argumentos server_side, server_hostname y session
CVE-2026-82049tarfileCierra 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-15310zipfileLimita cuántos datos bzip2 y LZMA se descomprimen por lectura, lo que evita un uso de memoria sin límite
CVE-2026-19672tarfileImpide que los filtros de extracción creen carpetas fuera del destino
CVE-2026-19445sslCorrige un cierre inesperado cuando un callback SNI cambia de contexto
CVE-2026-17084stringprep, IDNALimita ambos a las reglas de caracteres Unicode de RFC 3454
CVE-2026-15806urllib.requestSepara las contraseñas de HTTPPasswordMgr por esquema de URL, para que las credenciales HTTPS no se usen indebidamente
CVE-2026-87910tarfileAplica 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

  1. Python 3.10.22, 3.11.17, 3.12.15, 3.13.16 and 3.14.8 are now available! - Python Insider
  2. Python 3.10.22, 3.11.17, 3.12.15, 3.13.16, and 3.14.8 Ship as 3.10 Hits End of Life - Linux Compatible
  3. Python 3.10.22, 3.11.17, 3.12.15, 3.13.16 and 3.14.8 release announcement - Python Discourse

Artículos relacionados