Executando verificação de segurança...
5

Vulnerabilidade antiga no Python atingiria mais de 350 mil projetos

A falha está presente em códigos que utilizam a função tarfile.extractall() ou tarfile.extract() de forma não-sanitizada, permitindo que um invasor sobrescreva arquivos arbitrariamente.

O problema foi divulgado em 2007 (CVE-2007-4559), mas nunca recebeu um patch – a única atenuação oferecida foi uma atualização na documentação alertando desenvolvedores sobre o risco.

Embora não haver relatos de ataques através do bug, ele representa um risco do tipo supply chain. na cadeia de fornecimento de software.

Pesquisadores da Trellix redescobriram a vulnerabilidade recentemente e estaria presente em milhares de projetos de software, tanto de código aberto quanto fechado.

Carregando publicação patrocinada...
2

A chicken is an egg's way of producing more eggs. (Anonymous) source

Há um exemplo na discussão reportada aqui https://mail.python.org/pipermail/python-dev/2007-August/074290.html. Pareceu-me que o Python deveria também estar sendo executado com privilégios de superuser, de forma que consiga sobrescrever um diretório restrito como /etc/passwd. Sem esse privilégio ainda seria nocivo. Semelhante bug afetou o GNU tar 1.13.19 ao expandir tar_files que contenham árvore de diretórios com ../../../..

The vulnerability goes basically like this:
If you tar a file named "../../../../../etc/passwd" and then make the admin untar it, /etc/passwd gets overwritten.

🗨️ Logo, a sanitização seria útil se aplicada sobre a árvore de diretório presente no tar_file.
🗨️ Para identificar potenciais scripts vulneráveis, vale a dica de buscar pelo import tarfile:

"With GitHub’s help we were able to get a much larger dataset to include 588,840 unique repositories that include ‘import tarfile’ in its python code" - Charles McFarland