CVE-2021-40539
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha crítica no ADSelfService Plus (ManageEngine/Zoho) que permite a um atacante não autenticado, via rede, contornar o filtro de segurança que protege endpoints da REST API e executar comandos arbitrários no servidor. Foi amplamente explorada por grupos de ransomware e ameaças persistentes (incluindo atores associados à China, segundo relatos de terceiros) logo após a divulgação em setembro de 2021, e consta no catálogo KEV da CISA com exploração confirmada.
Detalhamento técnico
O ADSelfService Plus expõe endpoints REST API que são protegidos por um filtro de segurança específico responsável por autenticar as requisições antes de repassá-las à aplicação. O problema (CWE-55, path traversal/normalização inadequada de nomes de arquivo/caminho) está na forma como esse filtro normaliza a URL antes de validar as credenciais: URLs REST API especialmente montadas com sequências como '/../RestAPI' ou '/./RestAPI' conseguem escapar da lógica de validação, fazendo o filtro tratar a requisição como não pertencente à API protegida enquanto o servidor de aplicação, ao processar a rota de fato, a entrega para o endpoint real.
O resultado é bypass total de autenticação nesses endpoints REST. A partir daí, o atacante controla parâmetros de chamadas de API que, segundo o próprio advisory do fornecedor, foram usadas para 'ataques subsequentes como execução arbitrária de comandos' — ou seja, o bypass de autenticação é a porta de entrada, e a RCE é consequência do abuso de funcionalidades legítimas da API (como upload/gravação de arquivos) já sem controle de acesso.
O fornecedor não detalhou publicamente o endpoint exato nem o payload usado para chegar à execução de código — a análise técnica que circula publicamente (pesquisadores, módulo Metasploit, PoCs) preenche essa lacuna, mas a documentação oficial do fabricante permanece no nível de 'endpoints REST explorados para RCE', sem especificar a cadeia completa.
Como é explorada
Pré-requisito de exploração: acesso de rede ao painel/porta HTTP(S) do ADSelfService Plus exposto — não é necessário nenhum usuário ou credencial válida, o que explica o CVSS 9.8 (AV:N/PR:N/UI:N). A cadeia documentada por pesquisadores e refletida em IoCs do fornecedor e da CrowdStrike envolve o envio de requisições REST API manipuladas para o bypass, seguido de escrita de arquivos JSP maliciosos no servidor Tomcat embutido (webshells), que são então acessados diretamente para obter execução de comando com privilégios do serviço.
Existem módulo Metasploit, templates Nuclei e PoCs públicas, o que torna a exploração trivial de reproduzir e automatizável em varreduras massivas. A CISA confirma exploração ativa no catálogo KEV desde novembro de 2021, e há relatos de campanhas de intrusão (inclusive citadas por fornecedores de threat intel, como CrowdStrike em 2023) reutilizando essa falha dois anos após a divulgação inicial, sinal de que instâncias não corrigidas continuam sendo alvo recorrente.
O impacto final documentado é execução remota de comandos com controle total do servidor Windows onde o ADSelfService Plus roda — o que em ambientes corporativos normalmente significa acesso a um sistema com privilégios de leitura/gravação sobre o Active Directory integrado, ampliando o raio de dano além do próprio host.
Versões
Como se proteger
Atualizar para o build 6114 (lançado em 7 de setembro de 2021) ou versões posteriores elimina a falha, segundo o fornecedor. Não há flag de configuração, WAF genérico ou desativação parcial de funcionalidade documentada pelo próprio fabricante como mitigação equivalente à atualização — o advisory oficial trata a atualização como a única correção válida.
Se a atualização imediata não for viável, o paliativo realista é isolar a interface administrativa/REST API do ADSelfService Plus de acesso direto pela internet (restringir a rede que alcança a porta do serviço), o que reduz a superfície mas não elimina o risco caso um atacante já esteja dentro do perímetro. Isso é mitigação de contenção, não correção — deve ser tratado como temporário.
Como verificação de comprometimento prévio, o fornecedor publicou uma ferramenta de detecção de exploração (RCEScan.bat, executada como administrador na pasta bin da instalação) e uma lista de arquivos suspeitos a procurar (service.cer, ReportGenerate.jsp, adap.jsp, custom.bat/custom.txt em C:\Users\Public\, e IoCs adicionais reportados pela CrowdStrike em 2023: selfsdp.jspx, error.jsp, tomcat-ant.jar, pastas anômalas sob work\Catalina\localhost\ROOT\org\apache\jsp\). Presença desses artefatos indica que a atualização isolada não basta — é caso de resposta a incidente, não apenas patch.
Como detectar
Nos logs de acesso do ADSelfService Plus (pasta \ManageEngine\ADSelfService Plus\logs\, arquivos access_log_.txt), buscar entradas contendo as strings '/../RestAPI' ou '/./RestAPI' — padrão característico da normalização de URL abusada no bypass. Também verificar os arquivos serverOut_.txt por exceções, e os adslog_.txt por tracebacks Java com NullPointerException em addSmartCardConfig ou getSmartCardConfig, indicados pelo próprio fornecedor como sinal de tentativa de exploração.
A presença de arquivos JSP não esperados na árvore de instalação (service.cer, ReportGenerate.jsp, adap.jsp, custom.bat/custom.txt, e os IoCs adicionais reportados pela CrowdStrike — selfsdp.jspx, error.jsp, tomcat-ant.jar, pastas extras em work\Catalina\localhost\ROOT\org\apache\jsp\) indica exploração já concretizada, não apenas tentativa. Ausência desses sinais não garante que não houve tentativa, apenas que não há evidência de exploração bem-sucedida pelos vetores conhecidos até a publicação do advisory.