← voltar
CVE-2023-32315highsob ataqueCWE-22

Openfire administration console authentication bypass

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 8.6epss 100%
da publicação à arma19 dias
Publicada no NVD26 de mai.
1ª PoC+19d
metasploit26 de mai.
CISA KEV+90d
probabilidade de exploração
100%top 1% das CVEs
exploração observada
simCISA + VulnCheck
24 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2023-09-14

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Resumo

Falha de path traversal (CWE-22) no console administrativo do Openfire que permite a um atacante não autenticado acessar páginas do Admin Console reservadas a administradores, explorando o ambiente de setup mesmo em instalações já configuradas. É crítica porque não exige nenhuma credencial e o vetor é uma única requisição HTTP — está confirmada como explorada ativamente e consta no catálogo KEV da CISA.

Detalhamento técnico

O Openfire já tinha proteções contra path traversal, mas elas não cobriam uma forma não-padrão de URL-encoding para caracteres UTF-16 (o padrão %uXXXX, como %u002e para '.') que o servidor web embutido passou a suportar após uma atualização de dependência. As proteções de traversal do Openfire nunca foram atualizadas para reconhecer esse encoding alternativo, deixando uma lacuna entre o que o filtro de segurança bloqueava e o que o servidor web efetivamente interpretava.

O segundo componente da falha está no mecanismo de exclusão de autenticação do Openfire: a API define URLs que ficam fora da exigência de login (por exemplo, a própria página de login), e esse mecanismo aceita wildcards para casar padrões de URL de forma flexível. O ambiente de Setup — usado apenas durante a instalação inicial — tinha suas URLs excluídas de autenticação usando esse wildcard, e essa exclusão continuava ativa mesmo depois que o servidor já estava configurado e em produção.

A combinação das duas coisas é o problema: um atacante monta uma URL sob o prefixo /setup/ (que está na lista de exclusão de autenticação) usando o encoding %uXXXX para inserir sequências de '../' que o filtro de traversal não reconhece. O servidor decodifica o encoding, resolve o traversal, e entrega o conteúdo de páginas do Admin Console — como visualização de arquivos de log — sem jamais checar autenticação, porque a requisição bateu no padrão de URL isento de login.

O atacante não controla parâmetros de aplicação nem precisa de payload complexo: controla apenas a string da URL requisitada e o alvo dentro do Admin Console que quer alcançar via traversal.

Como é explorada

O vetor é uma requisição HTTP não autenticada contra a porta do Admin Console (por padrão 9090/HTTP ou 9091/HTTPS), sem necessidade de sessão prévia, credencial, ou configuração não padrão — a única pré-condição é que o console administrativo esteja acessível na rede a partir de onde o atacante está. Não há complexidade de exploração: é uma única requisição GET com o encoding %uXXXX embutido no caminho, e o próprio advisory do fornecedor descreve o teste de forma direta usando uma URL desse tipo apontada para o arquivo de log do servidor.

O impacto documentado pelo fornecedor é acesso a páginas administrativas restritas — o que já expõe informações sensíveis (logs, configurações) e pode permitir alterações administrativas dependendo de quais páginas ficam alcançáveis por esse caminho. O nome do PoC público catalogado ('Authentication Bypass / Remote Code Execution') indica que pesquisadores encadearam esse bypass com funcionalidades administrativas do próprio Openfire (como upload/gestão de plugins) para chegar a execução de código — mas os detalhes desse encadeamento não estão nas fontes usadas aqui e não devem ser tratados como confirmados pelo fornecedor nesta página.

A presença no catálogo KEV da CISA confirma exploração ativa em ambientes reais, não apenas prova de conceito de laboratório. Existe módulo Metasploit e template Nuclei públicos, o que baixa ainda mais a barreira técnica para exploração em massa via scanning de internet.

Versões

Afetadas
Todas as versões desde 3.10.0 (abril de 2015) até 4.7.4, incluindo toda a série 4.0.x a 4.7.x listada pelo fornecedor (3.10.0–3.10.3, 4.0.0–4.0.4, 4.1.0–4.1.6, 4.2.0–4.2.4, 4.3.0–4.3.2, 4.4.0–4.4.4, 4.5.0–4.5.6, 4.6.0–4.6.7, 4.7.0–4.7.4).
Corrigidas em
4.6.8 (backport para o ramo 4.6.x), 4.7.5 (ramo 4.7.x) e 4.8.0 (primeira versão do novo ramo 4.8, com melhorias adicionais além do patch mínimo).

Como se proteger

Atualizar é a mitigação real: 4.6.8 para o ramo 4.6.x, 4.7.5 para o ramo 4.7.x, e 4.8.0 (ramo novo) quando disponível. As versões corrigidas passam a detectar o encoding não-padrão de UTF-16 nas checagens de traversal, removem a dependência de wildcard nas exclusões de autenticação, desativam os padrões de exclusão específicos do setup depois que a instalação termina, e — a partir da 4.8.0 — o servidor web embutido do Admin Console passa a vincular à interface loopback por padrão.

Se a atualização não for viável de imediato, o próprio fornecedor recomenda restringir acesso de rede ao Admin Console: bloquear as portas 9090 e 9091 em interfaces não-loopback via firewall/ACL, VPN ou security group de nuvem, garantindo que só administradores de confiança alcancem o console — nunca expor essas portas à internet. O fornecedor alerta que plugins como REST API, Monitoring Service, User Service e Random Avatar podem depender do comportamento antigo (wildcards, binding não-loopback) e ter funcionalidade reduzida com as mitigações ou com as correções da 4.8.0; nesses casos pode ser necessário reativar `adminConsole.access.allow-wildcards-in-excludes` e evitar restringir o bind à loopback, o que reduz a eficácia da proteção — um trade-off que precisa ser avaliado caso a caso, e não um mito de mitigação universal.

Restringir acesso de rede sozinho não corrige a causa raiz (a falha de parsing de encoding permanece no código); é um controle compensatório, não substitui a atualização.

Como detectar

Em logs de acesso do servidor web embutido do Openfire (portas 9090/9091), procurar requisições ao prefixo /setup/ contendo sequências de encoding %u, especialmente %u002e%u002e (equivalente a '../' codificado em UTF-16) — esse padrão é o indicador direto tentado contra a falha, conforme o próprio método de reprodução publicado pelo fornecedor. Requisições para caminhos de setup vindas de IPs externos após a instalação já estar concluída são anômalas por definição, já que o ambiente de setup não deveria receber tráfego normal nessa fase.

Como há módulo Metasploit e template Nuclei públicos, também vale monitorar padrões de scanning automatizado contra as portas do Admin Console. Não há um único log de aplicação que confirme exploração bem-sucedida versus tentativa falha sem correlacionar a resposta HTTP (acesso a conteúdo administrativo vs. redirecionamento para login) — o próprio fornecedor usa esse critério de resposta como teste diagnóstico.

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.
Openfire is an XMPP server licensed under the Open Source Apache License. Openfire's administrative console, a web-based application, was found to be vulnerable to a path traversal attack via the setup environment. This permitted an unauthenticated user to use the unauthenticated Openfire Setup Environment in an already configured Openfire environment to access restricted pages in the Openfire Admin Console reserved for administrative users. This vulnerability affects all versions of Openfire that have been released since April 2015, starting with version 3.10.0. The problem has been patched in Openfire release 4.7.5 and 4.6.8, and further improvements will be included in the yet-to-be released first version on the 4.8 branch (which is expected to be version 4.8.0). Users are advised to upgrade. If an Openfire upgrade isn’t available for a specific release, or isn’t quickly actionable, users may see the linked github advisory (GHSA-gw42-f939-fhvm) for mitigation advice.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.