El 26 de octubre de 2026 Python anunció releases de seguridad urgentes para 3.15, 3.14, 3.13, 3.12 y 3.11. Bloquean en el módulo ssl las claves intermedias comprometidas de eMudhra y corrigen un bypass de tarfile.tar_filter, la contraparte de CVE-2026-7774 en data_filter. El equipo de release recomienda actualizar todas las versiones afectadas, 3.11 y 3.12 incluidas.
¿Por qué Python sacó parches para cinco ramas a la vez?
Porque aparecieron claves intermedias comprometidas de la CA eMudhra, y el arreglo entró en todas las ramas con soporte al mismo tiempo. Las versiones son 3.15.2, 3.14.10, 3.13.18, 3.12.16 y 3.11.18. El anuncio en Python Insider tiene fecha del 26 de octubre de 2026 y lo firma el equipo de release. La página de descarga de 3.12.16 marca como fecha de release el 25 de octubre de 2026.
El módulo ssl ahora bloquea esas claves como último recurso contra su uso. El aviso de seguridad de Python del 24 de octubre de 2026 explica el mecanismo. Es una lista de certificados comprometidos conocidos que se rechazan siempre, sin importar cómo esté configurada la política del SSLContext. La idea es proteger al usuario aunque no tenga configurada la revocación de certificados.
El cambio también protege la instalación de paquetes. Según el anuncio del release, el uso normal de pip, incluso para actualizar el propio pip, queda a salvo de ataques con esas claves aunque pip no se haya actualizado. La protección viene del propio intérprete. Lo que cuenta, entonces, es la versión de Python que corre pip.
¿Qué vulnerabilidades corrigen los nuevos releases de Python?
Los cinco releases traen tres fixes en común. Python deja de confiar en las claves intermedias comprometidas de eMudhra (CVE-2026-115557), corrige tarfile (CVE-2026-114583) y hace que http.cookiejar rechace cookies con versión negativa.
El problema de tarfile se anunció el 22 de octubre de 2026 como una vulnerabilidad de severidad MEDIUM en CPython. Con entradas de link armadas a propósito, incluidos symlinks con nombres vacíos o con forma de directorio, se podían redirigir los miembros siguientes del archivo fuera del directorio de extracción. Así, un tar malicioso podía hacer que tarfile.extractall() con el filtro tar escribiera archivos fuera del destino, con los permisos del proceso que extrae. El aviso lo presenta como la contraparte en tar_filter de CVE-2026-7774, que cubría tarfile.data_filter.
Las ramas más viejas, además, reciben arreglos que las nuevas ya tenían.
| Release | Etapa de la rama | Distribución | Fixes además de los tres compartidos |
|---|---|---|---|
| 3.15.2 | bugfix | Instaladores binarios | Solo los compartidos |
| 3.14.10 | bugfix | Instaladores binarios | Solo los compartidos |
| 3.13.18 | seguridad | Solo fuente | Expat 2.9.0 (CVE-2026-77214, CVE-2026-102633), mimetypes en Windows (CVE-2024-3220), caso borde de refolding de headers, carrera en la limpieza de tempfile.TemporaryDirectory |
| 3.12.16 | seguridad | Solo fuente | Los mismos que 3.13.18 |
| 3.11.18 | seguridad | Solo fuente | Expat 2.9.0, mimetypes en Windows, caso borde de refolding de headers |
Los fixes extra de 3.13, 3.12 y 3.11 ya estaban en 3.15.1 y 3.14.9. El de tempfile ya estaba en 3.15.0 y 3.14.9.
¿Hay que reconstruir esta semana las imágenes con Python 3.11 y 3.12?
Sí, si te guiás por lo que dice el propio equipo de release. Recomienda que actualice todo el que use una versión afectada, y tanto 3.11 como 3.12 recibieron los tres fixes compartidos más los backports de la tabla.
El detalle está en cómo se distribuyen. 3.15.2 y 3.14.10 vienen con instaladores binarios. 3.13.18, 3.12.16 y 3.11.18 salen solo como código fuente. La página de 3.12.16 dice que 3.12 está en la etapa de solo fixes de seguridad, con releases irregulares en formato fuente hasta octubre de 2028. También aclara que ya no recibe bugfixes regulares ni instaladores binarios. La guía de desarrollo ubica a 3.11 y 3.13 en la misma etapa de seguridad.
Para un equipo de plataforma eso parte la flota en dos. Las imágenes que compilan CPython desde el tarball se arreglan subiendo la versión y haciendo un rebuild. Las que toman Python de un paquete del sistema operativo tienen que esperar a que la distribución publique su propio fix.
El tracker de seguridad de Debian muestra por qué ese segundo grupo necesita su propio chequeo. Para el CVE de tarfile lista python3.11 en bookworm como vulnerable, incluida la suite de seguridad de bookworm. También marca python3.13 en trixie como vulnerable, con una nota no-dsa que lo califica como problema menor. En sid, python3.14 3.14.10-1 y python3.15 3.15.2-1 figuran como corregidos. La misma página lista pypy3 y jython como vulnerables, así que los intérpretes alternativos también van al inventario.
La guía de desarrollo marca a Python 3.10 como end-of-life. Queda fuera de las ramas con soporte.
¿Cómo conviene priorizar cada fix?
El de eMudhra es el de mayor alcance, porque toca todo lo que use el módulo ssl. Eso va desde los clientes entre servicios hasta los pip install del build. Una imagen construida sobre un intérprete sin parchear sigue validando certificados sin esa lista de bloqueo.
El de tarfile pesa más donde el código extrae archivos que no generó y usa el filtro tar. Pensá en uploads de usuarios, artefactos descargados o bundles de plugins. Su aviso le asigna severidad MEDIUM. El de cookies afecta a los clientes HTTP montados sobre http.cookiejar. En 3.13, 3.12 y 3.11 el Expat incluido pasa a 2.9.0, un fix que 3.15.1 y 3.14.9 ya tenían. El cambio de mimetypes aplica solo a Windows.
Qué revisar esta semana
Nuestra recomendación es darle hasta el cierre del viernes 30 de octubre de 2026.
Para el jueves, armá la lista de cada imagen base y cada runtime con su versión exacta de Python, patch incluido. Sumá los runners de CI y las imágenes de build que corren pip. Todo lo que esté por debajo de 3.15.2, 3.14.10, 3.13.18, 3.12.16 o 3.11.18 es candidato a rebuild.
Después clasificá cada imagen según de dónde sale su Python. Las que compilan desde fuente pueden pasar ya a los tarballs nuevos. Las que dependen de paquetes de la distro necesitan el tracker de ese vendor. El de Debian, por ejemplo, lista python3.11 de bookworm como vulnerable al CVE de tarfile.
En paralelo, buscá en el código las llamadas a tarfile.extractall() con el filtro tar sobre archivos que vienen de afuera. Esas partes del código son las más expuestas hasta que salga el rebuild.
Para el viernes, hacé el rebuild y el deploy de las imágenes compiladas desde fuente. Después confirmá la versión del intérprete dentro de un contenedor corriendo. Cada imagen que quede atada a un paquete de distro necesita un responsable y una fecha ligada al fix del vendor. Si algún servicio sigue en 3.10, necesita un plan de migración, porque esa versión está fuera de soporte.
Fuentes
- blog.python.org/2026/10/python-3152-31410-31318-31216-31118, consultada el 28 de octubre de 2026.
- python.org/downloads/release/python-31216, consultada el 28 de octubre de 2026.
- openwall.com/lists/oss-security/2026/10/24/5, consultada el 28 de octubre de 2026.
- openwall.com/lists/oss-security/2026/10/22/33, consultada el 28 de octubre de 2026.
- security-tracker.debian.org/tracker/CVE-2026-114583, consultada el 28 de octubre de 2026.
- devguide.python.org/versions, consultada el 28 de octubre de 2026.