CVE-2022-1388
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
CVE-2022-1388 é um bypass de autenticação (CWE-306) na interface de gerenciamento iControl REST do F5 BIG-IP que permite execução remota de comandos com privilégios de root, sem autenticação. A falha só é explorável através do plano de gerenciamento (management interface ou self IP com iControl REST exposto), não pelo plano de dados que processa tráfego de aplicação — mas onde essa interface está acessível pela internet, a exploração é trivial e foi massivamente automatizada dias após a divulgação.
Detalhamento técnico
A falha está no tratamento de requisições à API iControl REST do BIG-IP. Segundo a F5, 'undisclosed requests' conseguem contornar a verificação de autenticação — a empresa nunca detalhou publicamente o mecanismo exato do bypass, mas pesquisadores (Horizon3, Positive Technologies) demonstraram que é possível manipular cabeçalhos da requisição, incluindo um valor arbitrário em X-F5-Auth-Token combinado com uma estrutura de requisição específica, para fazer o serviço tratar a chamada como já autenticada.
Uma vez contornada a autenticação, o atacante pode chamar endpoints administrativos do iControl REST, entre eles /mgmt/tm/util/bash, que aceita um corpo JSON com os campos 'command' e 'utilCmdArgs'. Esse endpoint existe para permitir que administradores executem comandos shell via API — com o bypass, qualquer requisição não autenticada ganha essa capacidade.
O processo que atende o iControl REST roda com privilégios elevados no BIG-IP; comandos executados por essa via retornam com uid=0(root), ou seja, controle total do appliance, não apenas do serviço web. Isso inclui leitura/escrita de arquivos, criação de contas, desabilitação de serviços e pivotamento para a rede interna a partir do dispositivo comprometido.
As versões 12.1.x e 11.6.x completas (todas as builds) constam como vulneráveis na descrição oficial, mas por estarem em End of Technical Support não foram avaliadas para correção — ou seja, permanecem vulneráveis indefinidamente e o único remédio é migrar de versão.
Como é explorada
O vetor é rede: uma requisição HTTP POST à porta de gerenciamento do BIG-IP (por padrão TCP 443 ou 8443 em instâncias VE com NIC única) dirigida a endpoints do iControl REST, sem necessidade de credenciais válidas nem de qualquer interação do usuário legítimo. Não há pré-condição de configuração não padrão para a falha em si — o requisito real é que a interface de gerenciamento iControl REST esteja alcançável pelo atacante, seja pela self IP com Port Lockdown permissivo, seja pela interface de management exposta à internet.
A exploração pública demonstrada usa o endpoint /mgmt/tm/util/bash para rodar comandos arbitrários via o parâmetro utilCmdArgs, retornando saída com privilégios de root. A complexidade é baixa: existe módulo Metasploit, template Nuclei e PoCs publicados, o que tornou a exploração acessível a scanners automatizados dias após a divulgação — a CISA registrou o CVE no catálogo KEV cinco dias após a publicação, e relatos da época apontavam cerca de 2.500 instâncias com a interface de gerenciamento exposta à internet sendo varridas ativamente.
O resultado final para o atacante é controle total do appliance BIG-IP: execução de comando como root, o que viabiliza persistência (criação de contas, webshells), exfiltração de configuração/certificados, e uso do dispositivo como ponto de pivotamento para a rede interna que ele protege — um cenário particularmente grave porque BIG-IP tipicamente fica na borda de redes críticas.
Versões
Como se proteger
A correção definitiva é atualizar para 16.1.2.2 (branch 16.1.x), 15.1.5.1 (branch 15.1.x), 14.1.4.6 (branch 14.1.x) ou 13.1.5 (branch 13.1.x). As branches 12.1.x e 11.6.x, integralmente vulneráveis, não recebem correção por estarem em End of Technical Support — a única mitigação real nesses casos é migrar para uma branch suportada.
Quando a atualização imediata não é viável, a F5 publicou três mitigações compensatórias, na ordem de preferência: (1) bloquear todo acesso ao iControl REST através das self IPs, ajustando Port Lockdown para 'Allow None' em cada self IP, ou 'Allow Custom' excluindo explicitamente o iControl REST se outras portas precisarem ficar abertas; (2) restringir o acesso à interface de management apenas a usuários e dispositivos confiáveis, via rede segura/isolada — nunca expondo essa interface à internet; (3) modificar a configuração do httpd do BIG-IP para bloquear as requisições que abusam do bypass, usada como alternativa ou complemento quando as duas anteriores não são possíveis no ambiente.
O custo dessas mitigações é baixo em ambientes bem segmentados, já que a interface de management nunca deveria estar na internet — mas em ambientes que dependem de acesso remoto direto a essa interface para operação, restringi-la exige repensar o acesso administrativo (VPN, bastion, allowlist de IP). Não funciona como mitigação apenas colocar um WAF na frente do tráfego de aplicação (data plane): a falha está no plano de gerenciamento, que tipicamente não passa pelo mesmo caminho de inspeção do tráfego de produção.
Como detectar
Procure em logs do iControl REST (tipicamente restjavad e logs de acesso httpd do BIG-IP) por requisições POST a endpoints administrativos como /mgmt/tm/util/bash originadas de IPs não administrativos, especialmente combinadas com cabeçalho X-F5-Auth-Token contendo valores não correspondentes a tokens de sessão válidos emitidos pelo sistema. Presença de comandos shell incomuns executados via bash com uid=0 sem correlação a sessão administrativa legítima é indicador forte de exploração bem-sucedida.
Dado o volume de exploração automatizada relatado logo após a divulgação, qualquer instância com a interface de management ou self IP exposta à internet deve ser tratada como potencialmente já comprometida até verificação — não há garantia de que ausência de log claro signifique ausência de exploração, já que muitos ataques focaram só em confirmar execução e depois estabelecer persistência silenciosa (contas novas, webshells, tarefas agendadas).