Segurança Python · 2 min read · Oct 17, 2025
Erro de Python não corrigido de 15 anos permite execução de código em 350 mil projetos

Mais de 350.000 repositórios de código aberto únicos estão acreditados em risco de potenciais ciberataques à cadeia de suprimentos devido a uma vulnerabilidade não corrigida de 15 anos no módulo tarfile do Python, que é um módulo padrão em qualquer projeto que utiliza Python.
Atualmente, o módulo tarfile do Python é encontrado extensivamente em frameworks criados pela AWS, Facebook, Google, Intel e Netflix, bem como em várias indústrias, como desenvolvimento de software, inteligência artificial/aprendizagem de máquina e desenvolvimento de código, mas também em outros setores tão diversos quanto desenvolvimento web, segurança, gerenciamento de TI e mídia.
A vulnerabilidade, rastreada como CVE-2007-4559 (pontuação CVSS: 6.8), foi descoberta há 15 anos. Essa falha pode ser explorada ao fazer upload de um arquivo malicioso gerado com duas ou três linhas de código simples e permite que atacantes executem código arbitrário ou controlem um dispositivo alvo.
No início deste ano, a CVE-2007-4559 foi redescoberta novamente por um pesquisador de vulnerabilidades da Trellix, Kasimir Schulz, enquanto investigava outro problema de segurança.
“Enquanto investigávamos uma vulnerabilidade não relacionada, o Centro de Pesquisa Avançada da Trellix se deparou com uma vulnerabilidade no módulo tarfile do Python. Inicialmente, pensamos que havíamos encontrado uma nova vulnerabilidade zero-day. À medida que aprofundamos a questão, percebemos que na verdade se tratava da CVE-2007-4559”, lê-se no post publicado pela empresa de segurança Trellix.
”A vulnerabilidade é um ataque de travessia de caminho nas funções extract e extractall no módulo tarfile que permite a um atacante sobrescrever arquivos arbitrários adicionando a sequência “..” aos nomes dos arquivos em um arquivo TAR.”
Embora a vulnerabilidade tenha sido originalmente marcada apenas como 6.8, na maioria dos casos, um atacante pode obter execução de código a partir da gravação do arquivo. No vídeo abaixo, a Trellix mostra como conseguiram obter execução de código explorando o Universal Radio Hacker:
Um atacante pode explorar a falha fazendo upload de um tarfile malicioso de uma maneira que torna possível escapar do diretório destinado a ser extraído e alcançar a execução de código, permitindo que o adversário potencialmente assuma o controle de um dispositivo alvo.
“Para que um atacante aproveite essa vulnerabilidade, ele precisa adicionar “..” com o separador para o sistema operacional (“/” ou “\”) no nome do arquivo para escapar do diretório para o qual o arquivo deve ser extraído. O módulo tarfile do Python nos permite fazer exatamente isso:” continua o post.
“O módulo tarfile permite que os usuários adicionem um filtro que pode ser usado para analisar e modificar os metadados de um arquivo antes que ele seja adicionado ao arquivo tar. Isso permite que os atacantes criem suas explorações com apenas 6 linhas de código acima.”
“Nunca extraia arquivos de fontes não confiáveis sem inspeção prévia”, lê-se na documentação do Python para tarfile. “É possível que arquivos sejam criados fora do caminho, por exemplo, membros que têm nomes de arquivos absolutos começando com ‘/’ ou nomes de arquivos com dois pontos ‘..’.”
Além disso, a Trellix lançou uma ferramenta gratuita chamada Creosote para escanear projetos vulneráveis à CVE-2007-4559, usando-a para descobrir a vulnerabilidade que se esconde em aplicações como Spyder Python IDE e Polemarch.
“Se não for controlada, essa vulnerabilidade foi adicionada involuntariamente a centenas de milhares de projetos de código aberto e fechado em todo o mundo, criando uma superfície de ataque substancial na cadeia de suprimentos de software”, observou Doug McKee, Engenheiro Principal e Diretor de pesquisa de vulnerabilidades da Trellix.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.