CVE-2017-3066
Priorize a correção. Ela está sob exploração confirmada pelo CISA, tem prova de conceito pública e 1 grupo(s) de ameaça a utilizam.
Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Resumo
Falha de deserialização Java (CWE-502) na biblioteca Apache BlazeDS embutida no ColdFusion, explorável sem autenticação via um endpoint HTTP exposto por padrão. Permite execução arbitrária de código no servidor e está no catálogo KEV da CISA com exploração confirmada — CVE de 2017 que continua sendo reativamente perseguida por scanners e ransomware oportunista porque muita instalação legada de ColdFusion nunca foi atualizada.
Detalhamento técnico
O componente BlazeDS do ColdFusion expõe o endpoint /flex2gateway/amf, que recebe mensagens no formato AMF (Action Message Format, usado por aplicações Flex/Flash para comunicação com o servidor). O servidor desserializa objetos Java contidos nessas mensagens sem validar a origem ou o tipo antes da desserialização — o padrão clássico de CWE-502.
O atacante controla o payload binário AMF enviado no corpo da requisição POST. Como a desserialização acontece antes de qualquer verificação de sessão ou credencial, basta alcançar a porta HTTP/HTTPS do ColdFusion para acionar o processamento do objeto malicioso.
O PoC público (exploit-db 43993) mostra que a exploração real é em dois estágios: o primeiro payload AMF força o servidor vulnerável a abrir uma conexão RMI de volta para um listener controlado pelo atacante (JRMPListener do ysoserial); esse segundo estágio é que entrega a gadget chain que resulta em execução de código. Isso indica que a vulnerabilidade em si é o vetor de desserialização — o RCE final depende de gadgets Java disponíveis no classpath do servidor, técnica comum em explorações de desserialização Java daquele período (ysoserial).
Como é explorada
Pré-requisito prático: acesso de rede ao endpoint HTTP(S) do ColdFusion onde /flex2gateway/amf esteja habilitado — não é preciso autenticação, conta válida, nem configuração fora do padrão além de o BlazeDS estar ativo (o que é comum em instalações padrão das versões afetadas). O atacante envia uma requisição POST com Content-Type application/x-amf contendo um objeto serializado malformado.
A exploração documentada publicamente exige que o atacante também controle um listener RMI (ysoserial JRMPListener) acessível a partir do servidor-alvo, para o qual o ColdFusion vulnerável se conecta de volta e recebe o payload de segunda etapa. Isso impõe uma restrição de rede: o servidor-alvo precisa conseguir alcançar o host do atacante em outbound — cenário viável na internet aberta, mas mitigável por egress filtering em redes segmentadas.
A CISA confirma exploração ativa em campo (entrada no catálogo KEV, adicionada em 2025-02-24, prazo de mitigação 2025-03-17), quase oito anos após a publicação original — sinal de que instâncias antigas e não corrigidas continuam sendo varridas e comprometidas por atacantes automatizados, não só por pesquisadores.
Versões
Como se proteger
A Adobe publicou correção via boletim APSB17-14; a ação correta é atualizar para uma versão de ColdFusion posterior às listadas como vulneráveis (2016 Update 3, 11 Update 11, 10 Update 22 e anteriores) conforme o boletim oficial — os números exatos de update corrigido não estão confirmados nos materiais consultados aqui, então confira diretamente o APSB17-14 antes de considerar corrigido.
Se a atualização imediata não for viável, o paliativo real é desabilitar ou remover o componente BlazeDS/o endpoint /flex2gateway (e outros endpoints Flex remoting não utilizados), bloquear o acesso a esse caminho via controle de rede/WAF, e aplicar egress filtering para impedir que o servidor abra conexões de saída não autorizadas — isso quebra a etapa de callback RMI usada no PoC público, ainda que não elimine a falha de desserialização em si.
Restringir acesso à porta do ColdFusion por firewall não é suficiente isoladamente se o serviço precisar ficar exposto para uso legítimo; segmentação de rede e monitoramento de conexões outbound anômalas são controles compensatórios, não substitutos do patch. Dado o tempo decorrido desde a divulgação e a inclusão recente no KEV, qualquer instância ainda rodando as versões afetadas sem patch deve ser tratada como comprometida até prova em contrário.
Como detectar
Procurar por requisições POST ao endpoint /flex2gateway/amf com Content-Type application/x-amf contendo cadeias de bytes típicas de serialização Java (assinatura de stream Java, referências a classes como sun.rmi.server.UnicastRef) no corpo da requisição — esse é o padrão observado no PoC público. Nos logs do ColdFusion, exceções de desserialização ou stack traces envolvendo BlazeDS/AMF são indício de tentativa, ainda que não confirmem sucesso.
Como a exploração documentada depende de callback RMI de saída, conexões outbound do servidor ColdFusion para IPs externos desconhecidos em portas altas e incomuns (padrão de JRMP/RMI) são um sinal forte de exploração em andamento ou bem-sucedida. Não há assinatura única e confiável para todo payload possível, já que a técnica de dois estágios pode variar a gadget chain usada.