Retorno de zip para Node.js

Não faz muito tempo, em 2018, um novo tipo de ataque esquecido trovejou - Zip Slip.

Zip Slip é uma vulnerabilidade generalizada de descompactação de arquivos críticos que permite que atacantes gravem arquivos arbitrários no sistema, o que geralmente leva à execução remota de comandos. Foi descoberto e divulgado pela equipe da Snyk Security em antecipação a uma divulgação pública em 5 de junho de 2018 e afetou milhares de projetos, incluindo HP, Amazon, Apache, Pivotal e muitos outros.

Mais informações sobre os detalhes técnicos do Zip Slip podem ser encontradas no  site .

Desde então, a maioria das estruturas e idiomas em que essas vulnerabilidades foram descobertas foram corrigidas e a vulnerabilidade não é ouvida há muito tempo.

Mais recentemente, porém, um novo caso não pareceu menos interessante que os anteriores.
O Zip Slip na popular biblioteca do Node.js é "descompactar".

O autor surpreendeu não tanto a vulnerabilidade como a técnica de exploração dessa vulnerabilidade usando a Condição de Corrida.

Condição de corrida (observação, condição de corrida), também a concorrência é um erro ao projetar um sistema ou aplicativo multithread em que a operação do sistema ou aplicativo depende da ordem em que partes do código são executadas.

Para excelentes exemplos de exploração dessa vulnerabilidade, consulte o  link .

Uma descrição detalhada da vulnerabilidade é fornecida em  problemas ao repositório do projeto.

Quanto aos recursos de operação - é isso que o autor escreve:

,   « » .zip-, yauzl , «..».

,     , .

   . ,      ,   .

,     , .  /    , .  .     - :

mkdir generic_dir
ln -s ../ generic_dir/symlink_to_parent_dir
ln -s / symlink_to_root
touch generic_dir/symlink_to_parent_dir/generic_dir/symlink_to_parent_dir/[...]/symlink_to_root/tmp/slipped_zip.txt

!

Agora tente imaginar como isso funciona! ;)

O identificador foi reservado para esta vulnerabilidade: CVE-2020-12265.

Postado por Egor Bogomolov, chefe de serviços de segurança da informação, HackerU Russia

All Articles