← voltar
CVE-2018-20250highsob ataqueransomwareCWE-36

CVE-2018-20250

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA, tem exploit funcional público e 1 grupo(s) de ameaça a utilizam.

ssvc Actcvss 7.8epss 96%
da publicação à arma17 dias
Publicada no NVD5 de fev.
1ª PoC+17d
metasploit5 de fev.
CISA KEV+1106d
probabilidade de exploração
96%top 1% das CVEs
exploração observada
simCISA + VulnCheck
1 grupo(s)44 exploit(s) público(s)
Quem explora1

Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).

Ação exigida pela CISAprazo federal: 2022-08-15

Apply updates per vendor instructions.

Resumo

Falha de path traversal absoluto (CWE-36) na biblioteca UNACEV2.dll, usada pelo WinRAR para extrair arquivos no formato ACE. Um arquivo ACE malicioso pode escrever um arquivo em qualquer caminho do sistema — inclusive na pasta Startup do usuário — ignorando a pasta de destino escolhida na extração. Como não há corrupção de memória envolvida, é um bug lógico simples de explorar e afeta qualquer instalação do WinRAR até a versão 5.61, o que — combinado à base de mais de 500 milhões de usuários citada pelos pesquisadores — torna a superfície de ataque real, apesar do vetor exigir interação do usuário.

Detalhamento técnico

O WinRAR identifica o tipo de arquivo pelos magic bytes, não pela extensão — então um arquivo com extensão .rar pode conter dados no formato ACE e ainda assim ser processado normalmente pelo programa, que delega a extração para a UNACEV2.dll. Essa DLL foi compilada em 2006, é antiga e não tem nenhuma mitigação de exploração binária (sem ASLR, sem DEP), mas o Check Point Research (Nadav Grossman), ao fuzzá-la com WinAFL, não encontrou um bug de corrupção de memória exploitável — encontrou algo mais simples e mais grave em termos de confiabilidade: um path traversal absoluto no campo de nome de arquivo dentro do arquivo ACE.

Como é explorada

Quando o campo filename do ACE é manipulado com um padrão específico de path traversal, a rotina de extração da UNACEV2.dll ignora a pasta de destino selecionada pelo usuário e trata o filename como um caminho absoluto, escrevendo o conteúdo onde o atacante definir. O vetor prático demonstrado (e replicado no módulo Metasploit e em PoCs públicas) é gravar um executável na pasta Startup do usuário; ao reiniciar a sessão do Windows, o executável roda automaticamente com os privilégios do usuário — não há execução imediata no momento da extração, é necessário reboot ou logon subsequente.

Versões

Afetadas
WinRAR anteriores e incluindo a versão 5.61 (todas as versões que ainda utilizam a UNACEV2.dll para extração de arquivos ACE).
Corrigidas em
Versões do WinRAR a partir da 5.70, que removeram completamente o suporte ao formato ACE (eliminando a UNACEV2.dll do produto). Não há patch que mantenha suporte a ACE de forma segura — a correção do fornecedor é a remoção do parser vulnerável.

Como se proteger

A correção do fornecedor não foi um patch pontual na DLL: o WinRAR removeu completamente o suporte ao formato ACE, eliminando a UNACEV2.dll do produto. Atualizar para uma versão que já não inclua suporte a ACE (a partir da linha 5.70, segundo notas de lançamento do fornecedor) resolve o problema por completo, já que o vetor depende inteiramente daquele parser específico.

Como detectar

Em nível de arquivo, um indicador forte é qualquer .rar/.ace cujo conteúdo interno (magic bytes) seja formato ACE mas contenha, no campo filename de uma entrada, sequências de path traversal (padrões como "C:C:../" ou equivalentes) apontando para fora da pasta de extração — isso é visível inspecionando o archive com ferramentas que parseiam ACE (como o projeto acefile em Python) antes de deixá-lo chegar ao WinRAR. Em nível de host, sinal de comprometimento é a criação inesperada de executáveis na pasta Startup do usuário (%APPDATA%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) logo após a extração de um arquivo .rar recebido externamente, seguida de execução após reboot/logon — não há assinatura de rede confiável, já que a exploração ocorre inteiramente client-side no momento da extração local.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
In WinRAR versions prior to and including 5.61, There is path traversal vulnerability when crafting the filename field of the ACE format (in UNACEV2.dll). When the filename field is manipulated with specific patterns, the destination (extraction) folder is ignored, thus treating the filename as an absolute path.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
PoCs públicas encontradas44 VexDay Proof
exploitdbVexDay Proofwww.exploit-db.com/exploits/46756exploitdbVexDay Proofwww.exploit-db.com/exploits/46552githubgithub.com/WyAtu/CVE-2018-20250492githubgithub.com/QAX-A-Team/CVE-2018-2025026githubgithub.com/easis/CVE-2018-20250-WinRAR-ACE21githubgithub.com/arkangel-dev/CVE-2018-20250-WINRAR-ACE-GUI7githubgithub.com/STP5940/CVE-2018-202502githubgithub.com/Ektoplasma/ezwinrar2githubgithub.com/eastmountyxz/CVE-2018-20250-WinRAR1githubgithub.com/technicaldada/hack-winrar1githubgithub.com/joydragon/Detect-CVE-2018-202500githubgithub.com/H4xl0r/WinRar_ACE_exploit_CVE-2018-202500githubgithub.com/lxg5763/cve-2018-202500githubgithub.com/zeronohacker/CVE-2018-202500githubgithub.com/tzwlhack/CVE-2018-202500githubgithub.com/tannlh/CVE-2018-202500githubgithub.com/LamSonBinh/CVE-2018-202500githubgithub.com/AeolusTF/CVE-2018-202500githubgithub.com/blunden/UNACEV2.DLL-CVE-2018-202500githubgithub.com/likekabin/CVE-2018-202500githubgithub.com/nmweizi/CVE-2018-20250-poc-winrar0cve_referencepacketstormsecurity.com/files/152618/RARLAB-WinRAR-ACE-Format-Input-Validation-Remote-Code-Execution.htmlnão verificadocve_referencewww.exploit-db.com/exploits/46552/não verificadocve_referencewww.exploit-db.com/exploits/46756/não verificadovulncheckvulncheck.com/xdb/b1fd1af5a90enão verificadovulncheckvulncheck.com/xdb/0e24e0f3c860não verificadovulncheckvulncheck.com/xdb/8781e0635d5anão verificadovulncheckvulncheck.com/xdb/62e3db5ba632não verificadovulncheckvulncheck.com/xdb/e67f95be5194não verificadovulncheckvulncheck.com/xdb/f92a55a02a71não verificadovulncheckvulncheck.com/xdb/7567f96bd245não verificadovulncheckvulncheck.com/xdb/0c53977a59e6não verificadovulncheckvulncheck.com/xdb/1c893692c804não verificadovulncheckvulncheck.com/xdb/a9f3986f5ca4não verificadovulncheckvulncheck.com/xdb/769a10397402não verificadovulncheckvulncheck.com/xdb/89f8948e60fbnão verificadovulncheckvulncheck.com/xdb/4cf24d124675não verificadovulncheckvulncheck.com/xdb/07d3492b35b0não verificadovulncheckvulncheck.com/xdb/577747b6d2f6não verificadovulncheckvulncheck.com/xdb/87be983eabdbnão verificadovulncheckvulncheck.com/xdb/2f088777b403não verificadovulncheckvulncheck.com/xdb/265189697577não verificadovulncheckvulncheck.com/xdb/eae7eb1d7404não verificadovulncheckvulncheck.com/xdb/803834c2bcebnão verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.