CVE-2013-0632
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de bypass de autenticação no ColdFusion 9.0/9.0.1/9.0.2 e 10, que permite a um atacante remoto e não autenticado assumir uma sessão administrativa completa explorando o componente RDS (Remote Development Services). A gravidade prática é altíssima porque o resultado final não é apenas acesso ao painel — é execução arbitrária de código no servidor, e a falha foi ativamente explorada em campanhas reais já em janeiro de 2013, antes mesmo da correção estar disponível.
Detalhamento técnico
O componente administrator.cfc, exposto em /CFIDE/adminapi/administrator.cfc, aceita um método "login" que autentica sessões tanto para o painel administrativo quanto para o RDS (Remote Development Services), um recurso do ColdFusion usado por IDEs para debug e deploy remoto. O problema é que a senha do RDS, por padrão ou por configuração comum, fica vazia — e o componente aceita esse valor vazio como credencial válida quando o parâmetro rdsPasswordAllowed é setado como habilitado.
O atacante envia uma requisição POST para administrator.cfc com method=login, adminpassword vazio e rdsPasswordAllowed=1. O servidor autentica essa chamada como uma sessão RDS válida e devolve um cookie de autorização (CFAUTHORIZATION_cfadmin). O defeito de design é que esse cookie de sessão RDS é aceito pelo restante da aplicação como equivalente a uma sessão administrativa completa, mesmo que a senha do painel administrativo (Administrator) seja diferente e forte — a separação entre os dois contextos de autenticação não existe de fato no lado do servidor.
O CISA KEV classifica a falha sob CWE-200 (exposição de informação), mas a mecânica central é de controle de acesso quebrado / autenticação insuficiente entre componentes que deveriam ser isolados: uma credencial de um subsistema (RDS) concede acesso a outro (painel Administrator). Com a sessão administrativa em mãos, o atacante controla o console de administração do ColdFusion, que expõe funcionalidades de agendamento de tarefas, upload de templates .cfm e execução de comandos — daí a escalada direta para execução arbitrária de código.
A falha atinge tanto a interface administrativa web quanto o próprio serviço RDS. A Adobe descreveu junto, na mesma advisory (APSA13-01), outras três CVEs correlatas (0625, 0629, 0631) explorando o mesmo tipo de fragilidade em componentes CFIDE, o que indica um problema estrutural de segregação de privilégios nessa área do produto, não um bug isolado.
Como é explorada
O vetor é rede pura: HTTP direto contra o endpoint /CFIDE/adminapi/administrator.cfc, sem necessidade de credencial prévia, sem interação do usuário e sem depender de configuração incomum — o RDS com senha vazia era o estado padrão em muitas instalações, o que torna a superfície de exposição real (não apenas teórica). O único pré-requisito de fato é que o servidor ColdFusion esteja acessível na rede e com o serviço RDS habilitado com a senha padrão ou não configurada, condição comum em instalações que não seguiram o guia de hardening da Adobe.
Na prática, o ataque consiste em obter, via a chamada de login no RDS, um cookie de sessão que o servidor aceita como válido para o painel administrativo, e então usar essa sessão para abrir /CFIDE/administrator/index.cfm com privilégios totais. A partir daí, o Administrator Console do ColdFusion oferece caminhos diretos para escrita de arquivo e execução: agendamento de tarefa (Scheduled Task) apontando para um template CFML malicioso, ou upload de um arquivo .cfm que é interpretado pelo próprio servidor de aplicação — o que entrega execução de código no contexto do processo ColdFusion.
Houve exploração massiva in the wild documentada já em janeiro de 2013, motivando a Adobe a publicar uma advisory de emergência (APSA13-01) antes do hotfix completo. A vulnerabilidade está no catálogo KEV da CISA (adicionada em 2022, o que reflete reexploração observada anos depois em servidores legados nunca corrigidos) e há módulo público no Metasploit (rank "Great") que automatiza toda a cadeia: checagem de exposição, obtenção de sessão, geração de um dropper CFML e execução de payload — reduzindo a complexidade prática a praticamente zero para quem tem o Metasploit configurado.
Versões
Como se proteger
A correção primária é aplicar o hotfix de segurança da Adobe referenciado no boletim APSB13-03 para ColdFusion 10, 9.0.2, 9.0.1 e 9.0 (Windows, Macintosh e UNIX) — a Adobe não publicou nesse texto o número específico do hotfix por versão, então confirme no boletim oficial qual arquivo de hotfix corresponde à sua build antes de aplicar.
Para instalações em versões não suportadas (ColdFusion 8.x e anteriores, que não recebem hotfix desta CVE), a Adobe recomenda um conjunto de mitigações compensatórias: configurar uma senha para o RDS mesmo que o serviço esteja desabilitado, habilitar a exigência de senha para RDS, configurar e proteger com senha o Administrator, bloquear acesso externo aos diretórios /CFIDE/administrator, /CFIDE/adminapi e /CFIDE/componentutils, remover componentes ou templates desconhecidos do CFIDE/webroot, e aplicar controle de acesso ao Administrator Console (via o próprio console na v10, ou via mecanismos do servidor web nas versões 9.0.2 e anteriores). Nenhuma dessas medidas substitui o hotfix nas versões suportadas — são paliativos para quem não pode atualizar.
O erro comum é achar que trocar apenas a senha do Administrator resolve o problema: como a falha está na aceitação da sessão RDS pelo painel administrativo, uma senha administrativa forte não impede o bypass se o RDS continuar com senha vazia e habilitado. É necessário tratar RDS como superfície de ataque própria, não como recurso secundário.
Como detectar
Em logs de acesso web, procure requisições POST para /CFIDE/adminapi/administrator.cfc (ou variantes de diretório CFIDE renomeado) com parâmetros method=login, adminpassword vazio e rdsPasswordAllowed=1 — esse é o padrão de chamada usado tanto pelo PoC público quanto pelo módulo Metasploit. Respostas HTTP 200 contendo "true" no corpo indicam que a chamada de login foi aceita.
Complementarmente, monitore acessos subsequentes a /CFIDE/administrator/index.cfm imediatamente após essa chamada (indicando reuso da sessão RDS no painel administrativo), e a criação de tarefas agendadas ou upload de arquivos .cfm com nomes aleatórios alfanuméricos no diretório webroot — assinatura típica do dropper CFML usado pelo módulo Metasploit para entregar payload. Não há um sinal único e confiável isolado dessas requisições específicas: se o RDS já estava com senha vazia, o tráfego de exploração se parece exatamente com uma chamada legítima de ferramenta de desenvolvimento, o que dificulta detecção sem inspecionar o payload da requisição.