RARLAB WinRAR Directory Traversal Remote Code Execution Vulnerability
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Resumen
Falha de directory traversal (CWE-22) no tratamento de caminhos de arquivo dentro de arquivos RAR pelo WinRAR, que permite que uma entrada de arquivo maliciosamente construída escreva fora da pasta de extração escolhida pelo usuário. O vetor CVSS (AV:L) deixa claro que não é uma falha 'remota' no sentido de rede: a vítima precisa abrir/extrair um arquivo RAR malicioso. Importa porque está no catálogo KEV da CISA com exploração confirmada em campanha de espionagem do grupo APT-C-08 (Bitter) contra órgãos governamentais.
Detalle técnico
A vulnerabilidade está na rotina de sanitização de caminhos do WinRAR durante a extração de entradas de um arquivo RAR (CWE-22, path traversal). Segundo análise de pesquisadores, o mecanismo de verificação examina o caractere que precede cada separador de caminho (\ ou /) e pula a etapa de sanitização quando esse caractere não é um espaço ou um ponto. Caminhos que começam com espaço são neutralizados (convertidos para underscore), mas o bug específico está em segmentos intermediários: espaços colocados imediatamente após sequências '..' não são removidos pela etapa final de sanitização, permitindo que a sequência de traversal sobreviva intacta ao processo de normalização.
O resultado é que um caminho de entrada do tipo '../ (com espaço)/../ (com espaço)/AppData/Roaming/Microsoft/Templates/Normal.dotm' escapa da raiz de extração pretendida e grava o arquivo em um diretório arbitrário dentro do alcance de permissão do usuário atual — por exemplo, a pasta de template global do Word ou a pasta Startup do Windows. O atacante controla integralmente o nome/caminho de cada entrada dentro do arquivo RAR que ele cria, mas a escrita fica limitada aos privilégios do usuário que executa a extração (sem elevação de privilégio embutida na falha).
A execução de código não é imediata: a extração apenas posiciona o arquivo malicioso. A execução ocorre num evento subsequente — o Word carregando automaticamente 'Normal.dotm' (template global) na próxima abertura, ou o Windows executando o item colocado na pasta Startup no próximo logon.
Cómo se explota
O vetor de entrega é local por natureza: a vítima precisa abrir/extrair, com uma versão vulnerável do WinRAR, um arquivo RAR especialmente criado — não há exploração via rede sem essa interação (UI:R, AV:L). Não é necessária autenticação nem configuração não padrão do WinRAR; o requisito real é apenas rodar uma versão vulnerável (≤7.11) e extrair o arquivo malicioso, o que normalmente chega por e-mail de phishing ou link para download.
A campanha documentada por pesquisadores (atribuída ao APT-C-08, também conhecido como Bitter, ativo desde ao menos 2013, focado em governos do sul da Ásia) usa e-mails de spear-phishing com um RAR contendo um documento .docx isca benigno e uma entrada de caminho manipulada que grava 'Normal.dotm' malicioso na pasta de templates globais do Word, ou um dropper na pasta Startup. Nenhum código é executado no momento da extração em si — a persistência depende de a vítima abrir qualquer documento do Word depois (o macro do template global roda automaticamente, sem prompt de segurança) ou de o sistema reiniciar/logar novamente.
A partir daí a cadeia observada inclui um downloader (winnsc.exe) que faz beacon HTTP POST periódico (a cada ~300 segundos quando ocioso) a domínios de C2, baixa e executa em memória um payload em estágio 2 (trojan em C#/RAT), realiza reconhecimento do sistema e exfiltra documentos (.docx, .pdf, .xls*) cifrados com RC4. O resultado final é execução de código no contexto do usuário e persistência furtiva de longo prazo, não escalada de privilégio.
Versiones
Cómo protegerse
Atualizar para WinRAR 7.12 ou versão posterior corrige a falha de sanitização de caminho. O WinRAR não possui atualização automática, então cada instalação precisa ser atualizada manualmente ou via ferramenta de distribuição de software da organização — isso é o ponto operacional mais citado pelas fontes, e o motivo pelo qual a falha ainda circula meses após a divulgação.
Se a atualização imediata não for viável, os paliativos reais e com custo conhecido são: bloquear ou colocar em quarentena anexos/arquivos RAR recebidos por e-mail no gateway; monitorar via EDR processos de arquivador (WinRAR/UnRAR) gravando arquivos fora do diretório de extração indicado pelo usuário, em especial em pastas Startup e em %AppData%\Roaming\Microsoft\Templates; e restringir permissão de escrita nessas pastas sensíveis quando operacionalmente possível. Nenhuma dessas medidas neutraliza a falha em si — apenas reduzem a chance de o vetor de entrega (arquivo RAR malicioso) chegar ao usuário ou de o resultado da exploração passar despercebido.
O que não funciona como mitigação: confiar em antivírus de assinatura para deter a cadeia completa, já que os binários de estágio posterior (downloader, RAT) são customizados e mudam por campanha; e assumir que sandboxing genérico de extração de arquivos impede o traversal, pois o problema está na lógica de normalização de caminho do próprio WinRAR, não em controle de execução externo.
Cómo detectar
Sinais de exploração bem-sucedida aparecem no sistema de arquivos e na rede, não em log nativo do WinRAR: arquivos gravados por um processo de arquivador (WinRAR/UnRAR/rar.exe) fora da pasta de extração explicitamente escolhida pelo usuário, principalmente em %AppData%\Roaming\Microsoft\Templates\Normal.dotm ou na pasta Startup do usuário/sistema; o Word carregando um template global inesperado com macro; presença de processo winnsc.exe; e tráfego de rede saindo para domínios de C2 documentados na campanha (koliwooclients[.]com, esanojinjasvc[.]com/teamlogin.esanojinjasvc[.]com, tapeqcqoptions[.]com, johnfashionaccess[.]com/johnfashionarchive[.]com, wmiapcservice[.]com) com requisições POST periódicas (padrão observado de ~300 segundos) para caminhos como 'teamzid.php'.
Não existe assinatura confiável e genérica só a partir do WinRAR — a detecção depende de IOCs específicos da campanha atribuída ao APT-C-08 ou de regras de EDR/monitoramento de integridade de arquivos voltadas ao comportamento de escrita fora do diretório de extração, já que a falha em si não deixa rastro distinto no aplicativo.