← volver
CVE-2020-5902criticalbajo ataqueransomwareCWE-22

CVE-2020-5902

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA, tiene exploit funcional público y 1 grupo(s) de amenaza la utilizan.

ssvc Actcvss 9.8epss 100%
de la publicación al arma3 días
Publicada en NVD1 jul
1ª PoC+3d
metasploit30 jun
CISA KEV+490d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
1 grupo(s)99 exploit(s) público(s)
Quién la explota1

Grupos conocidos por explotar esta vulnerabilidad (atribución MITRE ATT&CK).

Acción exigida por CISAplazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumen

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.

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

Cómo se explota

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.

Versiones

Afectadas
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).
Corregidas en
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).

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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
Productos afectados
n/a · BIG-IP
PoCs públicas encontradas99
exploitdbwww.exploit-db.com/exploits/48642no verificadoexploitdbwww.exploit-db.com/exploits/48643no verificadoexploitdbwww.exploit-db.com/exploits/48711no 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/lijiaxing1997/CVE-2020-5902-POC-EXP10githubgithub.com/Al1ex/CVE-2020-590210githubgithub.com/west9b/F5-BIG-IP-POC10githubgithub.com/dwisiswant0/CVE-2020-59029githubgithub.com/sv3nbeast/CVE-2020-5902_RCE8githubgithub.com/rockmelodies/CVE-2020-5902-rce-gui8githubgithub.com/rwincey/CVE-2020-5902-NSE8githubgithub.com/nsflabs/CVE-2020-59028githubgithub.com/GovindPalakkal/EvilRip6githubgithub.com/MrCl0wnLab/checker-CVE-2020-59025githubgithub.com/corelight/CVE-2020-5902-F5BigIP4githubgithub.com/d4rk007/F5-Big-IP-CVE-2020-5902-mass-exploiter4githubgithub.com/jiansiting/CVE-2020-59024githubgithub.com/34zY/APT-Backpack3githubgithub.com/faisalfs10x/F5-BIG-IP-CVE-2020-5902-shodan-scanner2githubgithub.com/r0ttenbeef/cve-2020-59022githubgithub.com/DeepSecurity-Pe/GoF5-CVE-2020-59022githubgithub.com/murataydemir/CVE-2020-59022githubgithub.com/z3n70/CVE-2020-59022githubgithub.com/cybersecurityworks553/scanner-CVE-2020-59022githubgithub.com/qiong-qi/CVE-2020-5902-POC2githubgithub.com/halencarjunior/f5scan1githubgithub.com/0xAbdullah/CVE-2020-59021githubgithub.com/JSec1337/RCE-CVE-2020-59021githubgithub.com/haisenberg/CVE-2020-59021githubgithub.com/Shu1L/CVE-2020-5902-fofa-scan1githubgithub.com/qlkwej/poc-CVE-2020-59021githubgithub.com/amitlttwo/CVE-2020-59021githubgithub.com/Zinkuth/F5-BIG-IP-CVE-2020-59021githubgithub.com/jinnywc/CVE-2020-59021githubgithub.com/renanhsilva/checkvulnCVE202059021githubgithub.com/freeFV/CVE-2020-5902-fofa-scan0githubgithub.com/momika233/cve-2020-59020githubgithub.com/TheCyberViking/CVE-2020-5902-Vuln-Checker0githubgithub.com/superzerosec/cve-2020-59020githubgithub.com/ludy-dev/BIG-IP-F5-TMUI-RCE-Vulnerability0githubgithub.com/DevRafaelprogrammer/F5-BIG-IP0githubgithub.com/dnerzker/CVE-2020-59020githubgithub.com/ajdumanhug/CVE-2020-59020githubgithub.com/k3nundrum/CVE-2020-59020githubgithub.com/Any3ite/CVE-2020-5902-F5BIG0githubgithub.com/GoodiesHQ/F5-Patch0githubgithub.com/inho28/CVE-2020-5902-F5-BIGIP0githubgithub.com/cristiano-corrado/f5_scanner0githubgithub.com/0xBlackash/CVE-2020-59020githubgithub.com/flyopenair/CVE-2020-59020vulncheckvulncheck.com/xdb/ad3e875990f5no verificadovulncheckvulncheck.com/xdb/1a0d5e33fc45no verificadovulncheckvulncheck.com/xdb/73f9e787074dno verificadovulncheckvulncheck.com/xdb/86fe209dce52no verificadovulncheckvulncheck.com/xdb/5283a75d948bno verificadovulncheckvulncheck.com/xdb/9fa6bc3af413no verificadovulncheckvulncheck.com/xdb/7436903b93b3no verificadovulncheckvulncheck.com/xdb/8221dd68e259no verificadovulncheckvulncheck.com/xdb/5e821a582ff3no verificadovulncheckvulncheck.com/xdb/80f18532fc05no verificadovulncheckvulncheck.com/xdb/0f0c474655e0no verificadovulncheckvulncheck.com/xdb/ee5ad494cf44no verificadocve_referencepacketstormsecurity.com/files/158581/F5-Big-IP-13.1.3-Build-0.0.6-Local-File-Inclusion.htmlno verificadovulncheckvulncheck.com/xdb/49a09a65578fno verificadocve_referencepacketstormsecurity.com/files/158334/BIG-IP-TMUI-Remote-Code-Execution.htmlno verificadocve_referencepacketstormsecurity.com/files/175671/F5-BIG-IP-TMUI-Directory-Traversal-File-Upload-Code-Execution.htmlno verificadovulncheckvulncheck.com/xdb/a8f50138be81no verificadovulncheckvulncheck.com/xdb/88f1fcaeb598no verificadovulncheckvulncheck.com/xdb/f74eaaf672bcno verificadocve_referencepacketstormsecurity.com/files/158366/F5-BIG-IP-TMUI-Directory-Traversal-File-Upload-Code-Execution.htmlno verificadovulncheckvulncheck.com/xdb/5965f23f2c23no verificadovulncheckvulncheck.com/xdb/215e30ad1ec1no verificadocve_referencepacketstormsecurity.com/files/158414/Checker-CVE-2020-5902.htmlno verificadocve_referencepacketstormsecurity.com/files/158333/BIG-IP-TMUI-Remote-Code-Execution.htmlno verificadovulncheckvulncheck.com/xdb/83a6db79a08bno verificadovulncheckvulncheck.com/xdb/015b4ecd80f4no verificadovulncheckvulncheck.com/xdb/cb20275ece2fno verificadovulncheckvulncheck.com/xdb/f4a6551a3d25no verificadovulncheckvulncheck.com/xdb/84da9e97c9d8no verificadovulncheckvulncheck.com/xdb/d6c5c4d13a05no verificadovulncheckvulncheck.com/xdb/9b34669e9e6bno verificadovulncheckvulncheck.com/xdb/d2deaeca3c8dno verificadovulncheckvulncheck.com/xdb/2f35578b6a4eno verificadovulncheckvulncheck.com/xdb/d13ebff2714eno verificadovulncheckvulncheck.com/xdb/aaa51d1dde07no verificadovulncheckvulncheck.com/xdb/3d3c1efc21d6no verificadovulncheckvulncheck.com/xdb/c9200a88cc26no verificadovulncheckvulncheck.com/xdb/56bfabceae4ano verificadovulncheckvulncheck.com/xdb/9d229282dfa7no verificadovulncheckvulncheck.com/xdb/80de95eed85cno verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.