← voltar
CVE-2020-5902criticalsob ataqueransomwareCWE-22

CVE-2020-5902

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA, tem exploit funcional público e 1 grupo(s) de ameaça a utilizam.

ssvc Actcvss 9.8epss 100%
da publicação à arma3 dias
Publicada no NVD1 de jul.
1ª PoC+3d
metasploit30 de jun.
CISA KEV+490d
probabilidade de exploração
100%top 1% das CVEs
exploração observada
simCISA + VulnCheck
1 grupo(s)99 exploit(s) público(s)
Quem explora1

Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).

Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

Falha de path traversal (CWE-22) na interface de administração TMUI do F5 BIG-IP que permite a um atacante não autenticado, com acesso de rede à interface de gerenciamento, executar comandos arbitrários no sistema com privilégios elevados. É crítica de fato, não só no papel: não exige autenticação, é trivial de automatizar e foi amplamente explorada em massa dias após a divulgação, inclusive por atores estatais.

Detalhamento técnico

O TMUI roda sobre um Apache HTTP Server que atua como proxy reverso para um Apache Tomcat interno via protocolo AJP, na porta 8009/tcp. O arquivo de configuração proxy_ajp.conf usa uma lista de expressões regulares (ProxyPassMatch) para decidir quais caminhos são repassados ao Tomcat — por exemplo, apenas URLs terminando em .jsp sob /tmui/ ou caminhos específicos como /tmui/Control/, /tmui/graph/, /hsqldb, etc. Qualquer coisa fora dessa lista deveria ser bloqueada pelo Apache antes de chegar ao Tomcat.

O problema é que Apache e Tomcat interpretam sequências como '/..;/' de forma diferente — técnica descrita por Orange Tsai em 'Breaking Parser Logic'. O Apache trata ';' como parte do nome do diretório e não casa a URL contra as regras de bloqueio; o Tomcat, por sua vez, interpreta '..;' como um '..' válido para navegação de diretório. Isso permite montar uma URL do tipo '/tmui/login.jsp/..;/' que passa pelo filtro do Apache mas é resolvida pelo Tomcat como um caminho totalmente diferente, dentro da árvore de servlets internos do TMUI que nunca deveriam ser expostos.

Com esse desvio, um atacante alcança servlets internos não protegidos, entre eles o servlet do banco HSQLDB (org.hsqldb.Servlet, mapeado em /hsqldb/*), que aceita conexões JDBC via HTTP com credenciais padrão documentadas publicamente. A partir daí é possível executar SQL arbitrário contra o banco interno do appliance. Outros endpoints internos alcançáveis pela mesma técnica de traversal permitem leitura e escrita de arquivos de configuração, o que pesquisadores demonstraram ser suficiente para escalar de acesso ao banco/arquivos internos até execução de comando no sistema operacional, geralmente com privilégios de root, já que os processos do TMUI rodam com privilégio elevado.

Como é explorada

O vetor é uma única requisição HTTP(S) para a porta TMUI (tipicamente 443, na interface de gerenciamento ou em um self-IP onde o Configuration utility esteja exposto), sem necessidade de autenticação, sessão válida ou interação do usuário. Não há pré-condição de configuração incomum: o problema está no proxy_ajp.conf padrão de fábrica. A única variável real de exposição é se a TMUI está acessível pela rede que o atacante alcança — F5 já recomendava antes da falha que a interface fosse restrita a rede de gerência isolada, mas o levantamento da Bad Packets encontrou milhares de instâncias expostas diretamente à internet.

Pesquisadores documentaram a cadeia completa: bypass do controle de acesso do Apache via '/..;/' → acesso ao servlet HSQLDB (ou outros servlets internos) → leitura/escrita de arquivos internos → execução de comando arbitrário no sistema com privilégios de root. Existem PoCs públicos, módulo Metasploit e templates Nuclei automatizando a detecção e a exploração, o que reduziu a barreira técnica quase a zero.

A exploração em massa começou dentro de dias da divulgação em julho de 2020, com scanning generalizado da internet à procura de instâncias vulneráveis. A CISA incluiu a falha no catálogo KEV (adicionada em novembro de 2021, prazo de correção maio de 2022), refletindo exploração continuada muito depois da correção estar disponível — inclusive por grupos de espionagem estatal que usaram BIG-IP comprometido como ponto de pivotamento em redes corporativas e governamentais.

Versões

Afetadas
BIG-IP 15.0.0–15.1.0.3; 14.1.0–14.1.2.5; 13.1.0–13.1.3.3; 12.1.0–12.1.5.1; 11.6.1–11.6.5.1 (conforme descrição oficial do fornecedor).
Corrigidas em
F5 publicou hotfixes por ramo no advisory K52145254; versões exatas de correção por branch não foram confirmadas diretamente nas fontes consultadas neste levantamento — consultar o advisory oficial F5 K52145254 para o build corrigido de cada ramo (15.x, 14.x, 13.x, 12.x, 11.6.x).

Como se proteger

A correção definitiva é atualizar para as versões corrigidas por F5 no advisory K52145254. Aplicar o patch remove a possibilidade de o Apache repassar as requisições manipuladas ao Tomcat da forma abusada.

Como paliativo quando a atualização imediata não é viável, F5 publicou mitigações no próprio advisory (restringir acesso à TMUI apenas a redes de gerenciamento confiáveis/out-of-band, e regras de bloqueio no próprio Apache/BIG-IP para os padrões de URL usados no traversal). Restringir a interface de gerenciamento por firewall ou VPN reduz drasticamente a superfície, mas não é substituto do patch: enquanto a interface estiver acessível a qualquer origem confiável (inclusive uma rede interna comprometida), o problema de fundo continua presente.

Não funciona como mitigação: apenas trocar credenciais de administração da TMUI, já que a exploração é pré-autenticação e não depende de nenhuma credencial válida do BIG-IP (a credencial usada é a padrão do HSQLDB interno, não da interface de admin). Da mesma forma, WAFs genéricos sem regra específica para o padrão '..;' na URL tendem a não bloquear a técnica, pois ela abusa de diferença de parsing entre dois servidores, não de um payload malicioso óbvio.

Como detectar

Em logs de acesso do Apache/TMUI, procurar por requisições contendo a sequência '..;' no caminho da URL, especialmente variações de '/tmui/login.jsp/..;/' seguidas de caminhos internos como '/hsqldb/', '/tmui/', ou outros endpoints não documentados — esse padrão de traversal é a assinatura mais confiável da técnica de bypass usada nesta CVE. Escaneamentos automatizados em massa (ferramentas com módulo Metasploit ou templates Nuclei) geram rajadas de requisições semelhantes vindas de poucos IPs contra várias instâncias, o que aparece bem em telemetria de rede voltada à porta de gerenciamento.

Como a exploração não deixa rastro de autenticação (não há usuário/sessão válida envolvido) e pode ser feita com uma única requisição, ambientes sem logging da TMUI habilitado ou sem retenção de log da época da exposição podem não ter nenhum sinal recuperável — isso é relevante para quem está avaliando comprometimento retroativo de appliances expostos entre 2020 e a aplicação do patch.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
In BIG-IP versions 15.0.0-15.1.0.3, 14.1.0-14.1.2.5, 13.1.0-13.1.3.3, 12.1.0-12.1.5.1, and 11.6.1-11.6.5.1, the Traffic Management User Interface (TMUI), also referred to as the Configuration utility, has a Remote Code Execution (RCE) vulnerability in undisclosed pages.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · BIG-IP
PoCs públicas encontradas99
exploitdbwww.exploit-db.com/exploits/48711não verificadoexploitdbwww.exploit-db.com/exploits/48643não verificadoexploitdbwww.exploit-db.com/exploits/48642não verificadogithubgithub.com/jas502n/CVE-2020-5902374githubgithub.com/yassineaboukir/CVE-2020-590271githubgithub.com/theLSA/f5-bigip-rce-cve-2020-590262githubgithub.com/aqhmal/CVE-2020-5902-Scanner55githubgithub.com/yasserjanah/CVE-2020-590243githubgithub.com/dunderhay/CVE-2020-590236githubgithub.com/f5devcentral/cve-2020-5902-ioc-bigip-checker17githubgithub.com/zhzyker/CVE-2020-590213githubgithub.com/ar0dd/CVE-2020-590212githubgithub.com/PushpenderIndia/CVE-2020-5902-Scanner12githubgithub.com/west9b/F5-BIG-IP-POC10githubgithub.com/Al1ex/CVE-2020-590210githubgithub.com/lijiaxing1997/CVE-2020-5902-POC-EXP10githubgithub.com/dwisiswant0/CVE-2020-59029githubgithub.com/sv3nbeast/CVE-2020-5902_RCE8githubgithub.com/rwincey/CVE-2020-5902-NSE8githubgithub.com/nsflabs/CVE-2020-59028githubgithub.com/rockmelodies/CVE-2020-5902-rce-gui8githubgithub.com/GovindPalakkal/EvilRip6githubgithub.com/MrCl0wnLab/checker-CVE-2020-59025githubgithub.com/corelight/CVE-2020-5902-F5BigIP4githubgithub.com/jiansiting/CVE-2020-59024githubgithub.com/d4rk007/F5-Big-IP-CVE-2020-5902-mass-exploiter4githubgithub.com/34zY/APT-Backpack3githubgithub.com/cybersecurityworks553/scanner-CVE-2020-59022githubgithub.com/murataydemir/CVE-2020-59022githubgithub.com/r0ttenbeef/cve-2020-59022githubgithub.com/DeepSecurity-Pe/GoF5-CVE-2020-59022githubgithub.com/qiong-qi/CVE-2020-5902-POC2githubgithub.com/faisalfs10x/F5-BIG-IP-CVE-2020-5902-shodan-scanner2githubgithub.com/z3n70/CVE-2020-59022githubgithub.com/Shu1L/CVE-2020-5902-fofa-scan1githubgithub.com/jinnywc/CVE-2020-59021githubgithub.com/qlkwej/poc-CVE-2020-59021githubgithub.com/Zinkuth/F5-BIG-IP-CVE-2020-59021githubgithub.com/haisenberg/CVE-2020-59021githubgithub.com/halencarjunior/f5scan1githubgithub.com/JSec1337/RCE-CVE-2020-59021githubgithub.com/renanhsilva/checkvulnCVE202059021githubgithub.com/amitlttwo/CVE-2020-59021githubgithub.com/0xAbdullah/CVE-2020-59021githubgithub.com/0xBlackash/CVE-2020-59020githubgithub.com/GoodiesHQ/F5-Patch0githubgithub.com/Any3ite/CVE-2020-5902-F5BIG0githubgithub.com/k3nundrum/CVE-2020-59020githubgithub.com/ajdumanhug/CVE-2020-59020githubgithub.com/dnerzker/CVE-2020-59020githubgithub.com/TheCyberViking/CVE-2020-5902-Vuln-Checker0githubgithub.com/flyopenair/CVE-2020-59020githubgithub.com/freeFV/CVE-2020-5902-fofa-scan0githubgithub.com/momika233/cve-2020-59020githubgithub.com/superzerosec/cve-2020-59020githubgithub.com/ludy-dev/BIG-IP-F5-TMUI-RCE-Vulnerability0githubgithub.com/DevRafaelprogrammer/F5-BIG-IP0githubgithub.com/inho28/CVE-2020-5902-F5-BIGIP0githubgithub.com/cristiano-corrado/f5_scanner0vulncheckvulncheck.com/xdb/3d3c1efc21d6não verificadovulncheckvulncheck.com/xdb/c9200a88cc26não verificadovulncheckvulncheck.com/xdb/56bfabceae4anão verificadovulncheckvulncheck.com/xdb/9d229282dfa7não verificadovulncheckvulncheck.com/xdb/80de95eed85cnão verificadovulncheckvulncheck.com/xdb/ad3e875990f5não verificadovulncheckvulncheck.com/xdb/1a0d5e33fc45não verificadovulncheckvulncheck.com/xdb/73f9e787074dnão verificadovulncheckvulncheck.com/xdb/86fe209dce52não verificadovulncheckvulncheck.com/xdb/5283a75d948bnão verificadovulncheckvulncheck.com/xdb/9fa6bc3af413não verificadovulncheckvulncheck.com/xdb/7436903b93b3não verificadovulncheckvulncheck.com/xdb/8221dd68e259não verificadovulncheckvulncheck.com/xdb/5e821a582ff3não verificadovulncheckvulncheck.com/xdb/80f18532fc05não verificadovulncheckvulncheck.com/xdb/0f0c474655e0não verificadocve_referencepacketstormsecurity.com/files/158334/BIG-IP-TMUI-Remote-Code-Execution.htmlnão verificadocve_referencepacketstormsecurity.com/files/158366/F5-BIG-IP-TMUI-Directory-Traversal-File-Upload-Code-Execution.htmlnão verificadocve_referencepacketstormsecurity.com/files/158414/Checker-CVE-2020-5902.htmlnão verificadocve_referencepacketstormsecurity.com/files/158581/F5-Big-IP-13.1.3-Build-0.0.6-Local-File-Inclusion.htmlnão verificadocve_referencepacketstormsecurity.com/files/175671/F5-BIG-IP-TMUI-Directory-Traversal-File-Upload-Code-Execution.htmlnão verificadovulncheckvulncheck.com/xdb/2f35578b6a4enão verificadovulncheckvulncheck.com/xdb/ee5ad494cf44não verificadovulncheckvulncheck.com/xdb/a8f50138be81não verificadovulncheckvulncheck.com/xdb/88f1fcaeb598não verificadovulncheckvulncheck.com/xdb/f74eaaf672bcnão verificadovulncheckvulncheck.com/xdb/5965f23f2c23não verificadovulncheckvulncheck.com/xdb/215e30ad1ec1não verificadovulncheckvulncheck.com/xdb/83a6db79a08bnão verificadovulncheckvulncheck.com/xdb/015b4ecd80f4não verificadovulncheckvulncheck.com/xdb/cb20275ece2fnão verificadovulncheckvulncheck.com/xdb/f4a6551a3d25não verificadovulncheckvulncheck.com/xdb/49a09a65578fnão verificadocve_referencepacketstormsecurity.com/files/158333/BIG-IP-TMUI-Remote-Code-Execution.htmlnão verificadovulncheckvulncheck.com/xdb/84da9e97c9d8não verificadovulncheckvulncheck.com/xdb/d6c5c4d13a05não verificadovulncheckvulncheck.com/xdb/9b34669e9e6bnão verificadovulncheckvulncheck.com/xdb/d2deaeca3c8dnão verificadovulncheckvulncheck.com/xdb/d13ebff2714enão verificadovulncheckvulncheck.com/xdb/aaa51d1dde07não verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.