← back
CVE-2022-1388criticalunder attackransomwareCWE-306

CVE-2022-1388

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 100%
from disclosure to weapon0 days
Published on NVDMay 5
1st PoCMay 5
metasploitMay 4
CISA KEV+5d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
129 public exploit(s)
Action required by CISAfederal deadline: 2022-05-31

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
16.1.x anteriores a 16.1.2.2; 15.1.x anteriores a 15.1.5.1; 14.1.x anteriores a 14.1.4.6; 13.1.x anteriores a 13.1.5; todas as versões 12.1.x; todas as versões 11.6.x.
Fixed in
16.1.2.2 (branch 16.1.x); 15.1.5.1 (branch 15.1.x); 14.1.4.6 (branch 14.1.x); 13.1.5 (branch 13.1.x). Não há correção para 12.1.x e 11.6.x — branches em End of Technical Support, sem avaliação de correção pelo fornecedor; migração de versão é a única saída.

How to protect

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.

How to detect

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).

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
On F5 BIG-IP 16.1.x versions prior to 16.1.2.2, 15.1.x versions prior to 15.1.5.1, 14.1.x versions prior to 14.1.4.6, 13.1.x versions prior to 13.1.5, and all 12.1.x and 11.6.x versions, undisclosed requests may bypass iControl REST authentication. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
F5 · BIG-IP
public PoCs found129
exploitdbwww.exploit-db.com/exploits/50932unverifiedgithubgithub.com/horizon3ai/CVE-2022-1388230githubgithub.com/doocop/CVE-2022-1388-EXP93githubgithub.com/alt3kx/CVE-2022-1388_PoC87githubgithub.com/0xf4n9x/CVE-2022-138884githubgithub.com/ZephrFish/F5-CVE-2022-1388-Exploit59githubgithub.com/sherlocksecurity/CVE-2022-1388-Exploit-POC57githubgithub.com/numanturle/CVE-2022-138853githubgithub.com/Al1ex/CVE-2022-138837githubgithub.com/MrCl0wnLab/Nuclei-Template-CVE-2022-1388-BIG-IP-iControl-REST-Exposed28githubgithub.com/jheeree/CVE-2022-1388-checker25githubgithub.com/PsychoSec2/CVE-2022-1388-POC14githubgithub.com/Zeyad-Azima/CVE-2022-138813githubgithub.com/justakazh/CVE-2022-138813githubgithub.com/west9b/F5-BIG-IP-POC10githubgithub.com/blind-intruder/CVE-2022-1388-RCE-checker-and-POC-Exploit8githubgithub.com/Henry4E36/CVE-2022-13888githubgithub.com/vaelwolf/CVE-2022-13887githubgithub.com/Vulnmachines/F5-Big-IP-CVE-2022-13887githubgithub.com/gotr00t0day/CVE-2022-13887githubgithub.com/qusaialhaddad/F5-BigIP-CVE-2022-13887githubgithub.com/MrCl0wnLab/Nuclei-Template-Exploit-F5-BIG-IP-iControl-REST-Auth-Bypass-RCE-Command-Parameter6githubgithub.com/0x7eTeam/CVE-2022-1388-PocExp6githubgithub.com/AmirHoseinTangsiriNET/CVE-2022-1388-Scanner5githubgithub.com/Angus-Team/F5-BIG-IP-RCE-CVE-2022-13885githubgithub.com/Stonzyy/Exploit-F5-CVE-2022-13885githubgithub.com/bandit92/CVE2022-1388_TestAPI4githubgithub.com/revanmalang/CVE-2022-13883githubgithub.com/nvk0x/CVE-2022-1388-exploit3githubgithub.com/SecTheBit/CVE-2022-13882githubgithub.com/aancw/CVE-2022-1388-rs2githubgithub.com/devengpk/CVE-2022-13882githubgithub.com/saucer-man/CVE-2022-13882githubgithub.com/superzerosec/CVE-2022-13882githubgithub.com/savior-only/CVE-2022-13882githubgithub.com/EvilLizard666/CVE-2022-13882githubgithub.com/Luchoane/CVE-2022-1388_refresh1githubgithub.com/nico989/CVE-2022-13881githubgithub.com/amitlttwo/CVE-2022-13881githubgithub.com/Chocapikk/CVE-2022-13881githubgithub.com/chesterblue/CVE-2022-13881githubgithub.com/iveresk/cve-2022-1388-iveresk-command-shell1githubgithub.com/LinJacck/CVE-2022-1388-EXP1githubgithub.com/iveresk/cve-2022-1388-1veresk1githubgithub.com/shamo0/CVE-2022-13881githubgithub.com/vesperp/CVE-2022-1388-F5-BIG-IP1githubgithub.com/thatonesecguy/CVE-2022-1388-Exploit1githubgithub.com/0xAgun/CVE-2022-13881githubgithub.com/ThinkingOffensively/CVE-2022-13881githubgithub.com/j-baines/tippa-my-tongue1githubgithub.com/yukar1z0e/CVE-2022-13881githubgithub.com/SudeepaShiranthaka/F5-BIG-IP-Remote-Code-Execution-Vulnerability-CVE-2022-1388-A-Case-Study0githubgithub.com/mr-vill4in/CVE-2022-13880githubgithub.com/r0otk3r/CVE-2022-13880githubgithub.com/Osyanina/westone-CVE-2022-1388-scanner0githubgithub.com/impost0r/CVE-2022-13880githubgithub.com/Hudi233/CVE-2022-13880githubgithub.com/M4fiaB0y/CVE-2022-13880githubgithub.com/On-Cyber-War/CVE-2022-13880githubgithub.com/omnigodz/CVE-2022-13880githubgithub.com/pauloink/CVE-2022-13880githubgithub.com/jbharucha05/CVE-2022-13880githubgithub.com/li8u99/CVE-2022-13880githubgithub.com/Wrin9/CVE-2022-13880githubgithub.com/battleofthebots/refresh0githubgithub.com/sashka3076/F5-BIG-IP-exploit0vulncheckvulncheck.com/xdb/e99d73741e42unverifiedcve_referencepacketstormsecurity.com/files/167007/F5-BIG-IP-Remote-Code-Execution.htmlunverifiedvulncheckvulncheck.com/xdb/3fe86ad28ffeunverifiedvulncheckvulncheck.com/xdb/792f8d436653unverifiedvulncheckvulncheck.com/xdb/f0d43db5ffcbunverifiedvulncheckvulncheck.com/xdb/a0cd074f32a8unverifiedvulncheckvulncheck.com/xdb/8bb60772cff1unverifiedvulncheckvulncheck.com/xdb/5a2182b56ffdunverifiedvulncheckvulncheck.com/xdb/502567296299unverifiedvulncheckvulncheck.com/xdb/d2f6260efc0funverifiedvulncheckvulncheck.com/xdb/9574cfe06a5cunverifiedvulncheckvulncheck.com/xdb/a90a4f4fa523unverifiedvulncheckvulncheck.com/xdb/da0ee1760a50unverifiedvulncheckvulncheck.com/xdb/3ac3f4ccae08unverifiedvulncheckvulncheck.com/xdb/284187c7cc92unverifiedvulncheckvulncheck.com/xdb/6f0d150b9526unverifiedvulncheckvulncheck.com/xdb/1beebdc63339unverifiedvulncheckvulncheck.com/xdb/c5bc057dd650unverifiedvulncheckvulncheck.com/xdb/317ac291487cunverifiedvulncheckvulncheck.com/xdb/1374857fc440unverifiedvulncheckvulncheck.com/xdb/2a3d27be8a50unverifiedvulncheckvulncheck.com/xdb/089a0ce1c93aunverifiedvulncheckvulncheck.com/xdb/bf15a5b1ddeaunverifiedvulncheckvulncheck.com/xdb/b187533ab332unverifiedvulncheckvulncheck.com/xdb/4f60c165a253unverifiedvulncheckvulncheck.com/xdb/39da6fb6bae8unverifiedvulncheckvulncheck.com/xdb/fed4ce564309unverifiedvulncheckvulncheck.com/xdb/4e0a09831520unverifiedvulncheckvulncheck.com/xdb/91f823cf5ee3unverifiedvulncheckvulncheck.com/xdb/19a91efb19cbunverifiedvulncheckvulncheck.com/xdb/c18be49db148unverifiedvulncheckvulncheck.com/xdb/a2fba35605c7unverifiedvulncheckvulncheck.com/xdb/e8d37213acfbunverifiedvulncheckvulncheck.com/xdb/d47c793055aaunverifiedvulncheckvulncheck.com/xdb/55c8c0c71985unverifiedvulncheckvulncheck.com/xdb/86b7a33d25f4unverifiedvulncheckvulncheck.com/xdb/1ce7755efb91unverifiedvulncheckvulncheck.com/xdb/7819f0e28fc2unverifiedvulncheckvulncheck.com/xdb/0869637d461dunverifiedvulncheckvulncheck.com/xdb/e391ecaf162bunverifiedvulncheckvulncheck.com/xdb/bd11226cd569unverifiedvulncheckvulncheck.com/xdb/92cfa936edecunverifiedvulncheckvulncheck.com/xdb/de351a9eaa73unverifiedvulncheckvulncheck.com/xdb/7c3dfa418e9dunverifiedvulncheckvulncheck.com/xdb/1e755f4e5a91unverifiedvulncheckvulncheck.com/xdb/4ecf220a775eunverifiedvulncheckvulncheck.com/xdb/dfd966532bd4unverifiedvulncheckvulncheck.com/xdb/c5dcb13ada50unverifiedvulncheckvulncheck.com/xdb/f8e5e3946332unverifiedvulncheckvulncheck.com/xdb/4b67e5ac9d66unverifiedvulncheckvulncheck.com/xdb/a338399b9740unverifiedvulncheckvulncheck.com/xdb/596c32191ea1unverifiedvulncheckvulncheck.com/xdb/eaac7855e8baunverifiedvulncheckvulncheck.com/xdb/f174aa99be3aunverifiedvulncheckvulncheck.com/xdb/db69e56a1a55unverifiedvulncheckvulncheck.com/xdb/d8d92a442a79unverifiedvulncheckvulncheck.com/xdb/02a73fcd6f5funverifiedvulncheckvulncheck.com/xdb/fe095bfcae0aunverifiedvulncheckvulncheck.com/xdb/49c26aab032eunverifiedvulncheckvulncheck.com/xdb/b3ba3d9e25bbunverifiedvulncheckvulncheck.com/xdb/5ab1c09d90e2unverifiedcve_referencepacketstormsecurity.com/files/167118/F5-BIG-IP-16.0.x-Remote-Code-Execution.htmlunverifiedcve_referencepacketstormsecurity.com/files/167150/F5-BIG-IP-iControl-Remote-Code-Execution.htmlunverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.