CVE-2019-2725
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de desserialização insegura nos componentes de Web Services (wls9_async_response e wls-wsat) do Oracle WebLogic Server, que permite RCE não autenticado via HTTP simplesmente enviando uma requisição XML/SOAP manipulada. É um bypass do blacklist de classes que a Oracle havia introduzido para corrigir a CVE-2017-10271 — ou seja, quem só aplicou aquele patch antigo continua exposto. Está no catálogo KEV da CISA com exploração ativa confirmada (ransomware, botnets, cryptomining) e possui módulo Metasploit, template Nuclei e PoC pública, o que a torna trivial de automatizar em varredura massiva.
Detalhamento técnico
O WebLogic Server expõe, por padrão, os componentes de Web Services wls9_async_response.war e wls-wsat.war em endpoints como /_async/AsyncResponseService, /_async/AsyncResponseServiceHttps e /wls-wsat/CoordinatorPortType. Esses endpoints processam corpos XML/SOAP e usam java.beans.XMLDecoder para desserializar parte do conteúdo — um padrão clássico de desserialização insegura (o CISA classifica a falha como CWE-74, injeção via elementos especiais não neutralizados na saída para um componente downstream).
A Oracle já havia corrigido um problema semelhante em outubro de 2017 (CVE-2017-10271) adicionando uma lista negra de classes Java que não podiam ser instanciadas via XMLDecoder. A CVE-2019-2725 é, na prática, um bypass dessa lista negra: pesquisadores (Badcode do Knownsec 404 Team, equipes do Minsheng Banking Corp., NSFOCUS, 360 ESG, entre outros creditados pela própria Oracle) encontraram cadeias de gadgets com classes fora do blacklist que ainda permitem executar comandos do sistema operacional através do mesmo mecanismo de desserialização.
O atacante controla integralmente o corpo XML da requisição HTTP — não precisa de autenticação, sessão prévia nem interação do usuário. O resultado da desserialização maliciosa é execução de código/comando com os privilégios do processo WebLogic, tipicamente permitindo takeover completo do servidor de aplicação.
Como é explorada
O vetor é uma requisição HTTP POST simples (Content-Type text/xml) contra um dos endpoints de Web Services expostos por padrão (/_async/AsyncResponseService, /_async/AsyncResponseServiceHttps, /wls-wsat/*) contendo um payload XML que, ao ser processado por XMLDecoder, instancia objetos Java capazes de invocar processos do sistema operacional. Não há necessidade de credenciais, de configuração não padrão nem de qualquer interação do usuário — apenas acesso de rede à porta HTTP/HTTPS do WebLogic. Isso e a ausência de complexidade técnica (AC:L) explicam por que a Oracle classificou a CVSS em 9.8 e por que virou alvo de varredura em massa dias após o alerta.
A exploração pública documentada inclui campanhas de ransomware (Sodinokibi/REvil, GandCrab, Satan) e botnets/mineradores de criptomoeda (como Muhstik) já em 2019, poucos dias após a divulgação — e é justamente por isso que a CISA a incluiu no catálogo KEV (adicionada em 10/01/2022, com prazo de correção até 10/07/2022 para agências federais dos EUA), atestando exploração confirmada no mundo real, não apenas teórica.
O PoC público disponível no Exploit-DB (EDB-46780) demonstra a técnica em ambiente Windows, entregando um comando PowerShell codificado em Base64 via o endpoint assíncrono para obter execução remota — confirma que a barreira de exploração é baixa e amplamente automatizável, o que módulos Metasploit e templates Nuclei também evidenciam.
Versões
Como se proteger
A correção definitiva é aplicar o Security Alert da Oracle referente à CVE-2019-2725 (lançado fora do ciclo normal de CPU, em 26/04/2019), posteriormente incorporado à CPU de julho de 2019 (cpujul2019) e mantido em avisos subsequentes (cpujan2020). As fontes disponíveis não trazem números específicos de patch/ID de download — consulte diretamente o Security Alert da Oracle (link nas fontes) para obter o patch exato aplicável à sua versão e plataforma.
Se a atualização imediata não for viável, o paliativo historicamente adotado para esta família de vulnerabilidades (também usado para CVE-2017-10271 e correlatas) é remover ou desabilitar os componentes wls9_async_response.war e wls-wsat.war do deployment do WebLogic, ou bloquear via controle de acesso de rede/WAF o acesso aos caminhos /_async/* e /wls-wsat/*. O custo real dessa mitigação é a perda de funcionalidade de Web Services assíncronos e de coordenação de transações WS-AT caso essas features estejam em uso — avalie se a aplicação depende delas antes de remover os módulos.
O que NÃO funciona: aplicar apenas o patch antigo da CVE-2017-10271 (a blacklist original) não neutraliza esta falha, já que a CVE-2019-2725 é exatamente um bypass dessa lista negra. Ambientes que aplicaram só a correção de 2017 permanecem vulneráveis.
Como detectar
Procure por requisições HTTP POST para os caminhos /_async/AsyncResponseService, /_async/AsyncResponseServiceHttps e /wls-wsat/ (qualquer porta HTTP/HTTPS do WebLogic) com Content-Type text/xml ou application/soap+xml, cujo corpo contenha tags XML atípicas para SOAP legítimo — referências a classes Java, ObjectFactory, java.lang.ProcessBuilder ou construções equivalentes usadas para instanciar objetos via XMLDecoder. Rajadas de tais requisições vindas de IPs externos não usuais, seguidas de conexões de saída inesperadas (reverse shell) ou de novos arquivos/webshells em diretórios temporários do WebLogic, são indicadores fortes de tentativa de exploração.
Não há uma assinatura única confiável porque a técnica evoluiu por bypasses sucessivos do blacklist (CVE-2017-10271 → CVE-2019-2725 → CVE-2019-2729) — regras de WAF/IDS baseadas apenas em padrões da vulnerabilidade original de 2017 não cobrem esta variante, e é preciso monitorar o payload XML de forma mais ampla, não apenas por strings específicas de classes já conhecidas.