O WinRAR, um programa de compactação de arquivos do Windows com 500 milhões de usuários em todo o mundo, corrigiu recentemente uma vulnerabilidade com mais de 14 anos que possibilitou que atacantes executassem códigos mal-intencionados quando os alvos abriam um arquivo com armadilhas.

A vulnerabilidade foi o resultado de uma falha de caminho absoluto que residia na UNACEV2.DLL, uma biblioteca de código de terceiros que não é atualizada desde 2005. A travessia possibilitou que os arquivos fossem extraídos para uma pasta do criador do arquivo morto, em vez da pasta escolhida pela pessoa que usa o programa. Como a biblioteca de terceiros não faz uso de mitigações de exploração, como a aleatorização do layout do espaço de endereço, houve pouco impedimento de explorações.

Pesquisadores da Check Point Software, a empresa de segurança que descobriu a vulnerabilidade, inicialmente tiveram dificuldade em descobrir como explorar a vulnerabilidade de uma forma que executasse o código de sua escolha. O caminho mais óbvio – ter um arquivo executável extraído para a pasta de inicialização do Windows em que seria executada na próxima reinicialização – exigia que o WinRAR fosse executado com privilégios mais altos ou com níveis de integridade maiores do que o obtido por padrão.

Para eliminar esse obstáculo, os pesquisadores escreveram uma exploração de prova de conceito que deturpou a pasta de inicialização – “C: \ C: C: \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Startup \ some_file.exe ”Em vez de“ C: .. \ AppData \ Roaming \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização \ algum_arquivo.exe ”- depois de descobrir que uma função de filtro na biblioteca UNACEV2 a converteria no último local. Com isso, eles criaram uma exploração que deixava o código de sua escolha na inicialização do Windows, onde seria executado na próxima vez que o Windows fosse reiniciado. Em notas divulgadas no final do mês passado, funcionários do WinRAR disseram que corrigiram a vulnerabilidade.

“O UNACEV2.DLL não foi atualizado desde 2005 e não temos acesso ao seu código fonte”, escreveram os funcionários. “Então decidimos descartar o suporte ao formato de arquivo ACE para proteger a segurança do WinRAR Comercial.”