← volver
CVE-2023-32315highbajo ataqueCWE-22

Openfire administration console authentication bypass

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 8.6epss 100%
de la publicación al arma19 días
Publicada en NVD26 may
1ª PoC+19d
metasploit26 may
CISA KEV+90d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
24 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2023-09-14

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

Resumen

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.

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

Cómo se explota

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.

Versiones

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

Cómo protegerse

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.

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

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.
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
Productos afectados
igniterealtime · Openfire
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.