← back
CVE-2018-20250highunder attackransomwareCWE-36

CVE-2018-20250

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA, has a working public exploit and 1 threat group(s) use it.

ssvc Actcvss 7.8epss 96%
from disclosure to weapon17 days
Published on NVDFeb 5
1st PoC+17d
metasploitFeb 5
CISA KEV+1106d
exploitation probability
96%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 group(s)44 public exploit(s)
Who exploits it1

Groups known to exploit this vulnerability (MITRE ATT&CK attribution).

Action required by CISAfederal deadline: 2022-08-15

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
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).
Fixed in
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.

How to protect

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.

How to detect

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.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
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
public PoCs found44 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/technicaldada/hack-winrar1githubgithub.com/eastmountyxz/CVE-2018-20250-WinRAR1githubgithub.com/joydragon/Detect-CVE-2018-202500githubgithub.com/AeolusTF/CVE-2018-202500githubgithub.com/nmweizi/CVE-2018-20250-poc-winrar0githubgithub.com/likekabin/CVE-2018-202500githubgithub.com/zeronohacker/CVE-2018-202500githubgithub.com/tzwlhack/CVE-2018-202500githubgithub.com/tannlh/CVE-2018-202500githubgithub.com/LamSonBinh/CVE-2018-202500githubgithub.com/blunden/UNACEV2.DLL-CVE-2018-202500githubgithub.com/H4xl0r/WinRar_ACE_exploit_CVE-2018-202500githubgithub.com/lxg5763/cve-2018-202500vulncheckvulncheck.com/xdb/f92a55a02a71unverifiedvulncheckvulncheck.com/xdb/7567f96bd245unverifiedvulncheckvulncheck.com/xdb/0c53977a59e6unverifiedvulncheckvulncheck.com/xdb/1c893692c804unverifiedvulncheckvulncheck.com/xdb/a9f3986f5ca4unverifiedvulncheckvulncheck.com/xdb/769a10397402unverifiedvulncheckvulncheck.com/xdb/89f8948e60fbunverifiedvulncheckvulncheck.com/xdb/4cf24d124675unverifiedvulncheckvulncheck.com/xdb/07d3492b35b0unverifiedvulncheckvulncheck.com/xdb/577747b6d2f6unverifiedvulncheckvulncheck.com/xdb/87be983eabdbunverifiedvulncheckvulncheck.com/xdb/2f088777b403unverifiedvulncheckvulncheck.com/xdb/265189697577unverifiedvulncheckvulncheck.com/xdb/eae7eb1d7404unverifiedvulncheckvulncheck.com/xdb/803834c2bcebunverifiedvulncheckvulncheck.com/xdb/b1fd1af5a90eunverifiedvulncheckvulncheck.com/xdb/0e24e0f3c860unverifiedcve_referencewww.exploit-db.com/exploits/46756/unverifiedcve_referencewww.exploit-db.com/exploits/46552/unverifiedcve_referencepacketstormsecurity.com/files/152618/RARLAB-WinRAR-ACE-Format-Input-Validation-Remote-Code-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/8781e0635d5aunverifiedvulncheckvulncheck.com/xdb/62e3db5ba632unverifiedvulncheckvulncheck.com/xdb/e67f95be5194unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.