Pular para o conteúdo

Python 3.10 chega ao fim da vida útil e cinco versões corrigem 8 CVEs

O Python 3.10.22 é o último lançamento da linha 3.10: o branch chegou ao fim da vida útil em 1º de outubro de 2026, enquanto 3.11 a 3.14 recebiam correções para até oito CVEs.

Por Tech AI Wire Team

4 min de leitura

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.

Em números

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

O Python 3.10 chegou ao fim da vida útil em 1º de outubro de 2026, cinco anos depois de seu lançamento. Sua última atualização, o Python 3.10.22, saiu junto com 3.11.17, 3.12.15, 3.13.16 e 3.14.8. Juntas, elas corrigem oito falhas de segurança. Quem ainda usa o 3.10 não recebe mais nenhuma correção a partir de agora, inclusive para bugs de segurança.

O mesmo lote passa o Python 3.13 para apenas correções de segurança. O Python 3.14 é o branch mais recente do lote.

O que o fim da vida útil significa para o 3.10

"Fim da vida útil" significa que a equipe principal do Python deixa de manter uma versão. Nenhum lançamento novo sai para ela, mesmo quando uma nova brecha de segurança é encontrada. O anúncio do lançamento no Python Insider marca o momento sem rodeios: "Este é o ringdown do Python 3.10. Um último lançamento antes de desligarmos a máquina de lançamentos."

Pablo Galindo Salgado gerenciou as linhas de lançamento 3.10 e 3.11, segundo o Linux Compatible. A despedida lembra que o Python 3.10 começou "com uma viagem ao interior de um buraco negro de Schwarzschild", e termina com buracos negros também. Thomas Wouters e Hugo van Kemenade, os outros gerentes de lançamento, também assinaram o anúncio.

Veja como fica cada branch com suporte, segundo o anúncio:

VersãoEste lançamentoStatusFim do suporte
3.103.10.22Fim da vida útil1º de outubro de 2026
3.113.11.17Apenas correções de segurançaOutubro de 2027
3.123.12.15Apenas correções de segurançaOutubro de 2028
3.133.13.16Agora apenas correções de segurançaNão informado neste lançamento
3.143.14.8Branch mais recenteNão informado neste lançamento

O anúncio diz que o 3.13.16 "é o último lançamento de manutenção completo do 3.13; os futuros lançamentos do 3.13 trarão apenas correções de segurança."

As oito correções de segurança

Uma CVE é um número de identificação público para uma falha de segurança conhecida. O anúncio lista oito. Todas estão em todos os lançamentos, exceto a CVE-2026-87910, que não se aplica ao 3.14.

CVEMóduloO que a correção faz
CVE-2026-19553sslSSLContext.wrap_bio() agora verifica seus argumentos server_side, server_hostname e session
CVE-2026-82049tarfileFecha uma brecha no filtro de extração com hard links para links simbólicos que podia expor arquivos fora da pasta de destino
CVE-2026-15310zipfileLimita quantos dados bzip2 e LZMA são descompactados por leitura, evitando uso ilimitado de memória
CVE-2026-19672tarfileImpede que os filtros de extração criem pastas fora do destino
CVE-2026-19445sslCorrige um travamento quando um callback SNI troca de contexto
CVE-2026-17084stringprep, IDNALimita ambos às regras de caracteres Unicode da RFC 3454
CVE-2026-15806urllib.requestSepara as senhas do HTTPPasswordMgr por esquema de URL, para que credenciais HTTPS não sejam usadas indevidamente
CVE-2026-87910tarfileAplica os filtros de extração quando um link recorre à extração de um membro do arquivo

Três das oito estão no tarfile, o módulo da biblioteca padrão que descompacta arquivos .tar. Seus filtros de extração são as verificações de segurança que impedem um arquivo compactado de gravar arquivos fora da pasta em que você o descompacta. As três correções fecham brechas nessas verificações.

Instaladores e OpenSSL

Só dois dos cinco lançamentos vêm com instaladores prontos. Segundo o anúncio no Python Discourse, 3.10.22, 3.11.17 e 3.12.15 saem apenas como código-fonte, sem instaladores para Windows ou macOS. O Python 3.13.16 e o 3.14.8 incluem instaladores.

Esses dois também atualizam o OpenSSL incluído, a biblioteca que o Python usa para conexões criptografadas, para a versão 3.5.9. Isso vale para as builds de Windows, macOS e Android, e o 3.14.8 também cobre o iOS.

O que isso significa para desenvolvedores

Saia do Python 3.10 agora. Verifique cada lugar em que uma versão está fixada: imagens base do Docker, matrizes de teste de CI, arquivos pyproject.toml e imagens de servidor. Daqui em diante, nenhuma imagem 3.10 vai receber outra correção de segurança.

Escolha o destino pensando nas datas de suporte. Migrar para o 3.11 garante só um ano, até outubro de 2027. Migrar para o 3.12 garante dois. Se você vai fazer o trabalho de qualquer jeito, o 3.13 ou o 3.14 dão o maior fôlego.

Aplique as correções primeiro se você descompacta arquivos que não criou. Serviços que aceitam arquivos .tar ou .zip enviados por usuários são afetados pelas correções do tarfile e do zipfile. Atualize esses primeiro e mantenha os filtros de extração ativados no seu próprio código.

Verifique o urllib se você envia senhas com ele. A correção do HTTPPasswordMgr impede que credenciais destinadas ao HTTPS sejam reutilizadas em outro esquema. Código que define senhas de autenticação básica pelo urllib.request deve migrar para os lançamentos corrigidos.

Planeje builds a partir do código-fonte nos branches mais antigos. No Windows e no macOS, as correções do 3.11 e do 3.12 chegam sem instaladores. Obtenha-as pela sua distribuição Linux, por uma imagem de contêiner ou por uma ferramenta que compile o Python a partir do código-fonte.

Fontes

  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

Artigos relacionados