Categories: ALERTAS

Falha crítica no framework de segurança Java ‘pac4j’ expõe vulnerabilidade RCE (CVE-2023-25581)

Uma nova análise conduzida por Michael Stepankin (@artsploit), pesquisador do GitHub Security Lab (GHSL), revelou uma vulnerabilidade crítica no pac4j, um popular framework de segurança amplamente utilizado em aplicativos Java. Essa vulnerabilidade, rastreada como CVE-2023-25581, foi classificada com uma pontuação CVSS de 9,2, refletindo sua gravidade, e pode permitir que atacantes executem código arbitrário em sistemas comprometidos, resultando em uma potencial Execução Remota de Código (RCE).

O pac4j foi desenvolvido para simplificar a autenticação e autorização em aplicativos Java, oferecendo um conjunto robusto de ferramentas que visam proteger aplicativos web e serviços. No entanto, a pesquisa de Stepankin destacou uma falha significativa nas versões anteriores à 4.0.0 da estrutura, que compromete sua segurança.

Detalhes da Vulnerabilidade (CVE-2023-25581)

A vulnerabilidade está relacionada à maneira como o pac4j lida com os atributos de perfis de usuários. Conforme explicado por Stepankin, a falha está no método org.pac4j.core.profile.InternalAttributeHandler#restore, que desserializa dados não confiáveis. Em outras palavras, a estrutura não valida adequadamente objetos Java serializados que são armazenados nos perfis de usuário, abrindo uma perigosa porta para explorações.

Essa falha pode ser explorada quando um invasor injeta um objeto serializado malicioso, codificado em Base64 e prefixado com {#sb64}, em um atributo de perfil de usuário. Quando o método de restauração processa esse atributo, ele desserializa o objeto, permitindo a execução de código arbitrário no servidor vulnerável. Stepankin alerta: “É possível enganar o sistema para desserializar uma classe Java arbitrária”, o que coloca a infraestrutura de qualquer aplicativo afetado em risco.

Mecanismo de Exploração e Limitações

Embora o pac4j-core utilize o RestrictedObjectInputStream para restringir os tipos de objetos que podem ser desserializados, essas restrições não são suficientes para impedir completamente a exploração. Segundo Stepankin, “ele ainda permite uma ampla gama de pacotes Java que podem ser explorados por cadeias de gadgets maliciosos.” Isso significa que invasores habilidosos podem explorar diferentes tipos de objetos permitidos, obtendo assim acesso à execução remota de código e controlando potencialmente o sistema afetado.

A Execução Remota de Código (RCE) é uma das consequências mais graves dessa vulnerabilidade, pois pode permitir que atacantes assumam o controle do sistema, executando comandos de sua escolha. As consequências podem variar desde o roubo de dados confidenciais até a interrupção completa do serviço, ou até mesmo a expansão do ataque a outras partes da rede.

Medidas de Mitigação e Recomendações

A boa notícia para os usuários é que as versões 4.0.0 e posteriores do pac4j não são afetadas por essa vulnerabilidade. A equipe do GitHub Security Lab, juntamente com Stepankin, recomenda fortemente que todos os usuários de versões anteriores façam uma atualização imediata para as versões corrigidas. A atualização é essencial para proteger aplicativos de ataques que possam explorar essa falha grave.

Em resumo, a vulnerabilidade CVE-2023-25581 serve como um lembrete crítico da importância de manter frameworks e bibliotecas de segurança sempre atualizados. O uso de versões desatualizadas do pac4j pode colocar aplicativos em risco, comprometendo sua integridade e segurança. Além da atualização, os desenvolvedores também devem revisar suas políticas de serialização e desserialização de dados, garantindo que essas operações sejam tratadas com o máximo cuidado para evitar futuras explorações.

Ninja

Na cena de cybersecurity a mais de 25 anos, Ninja trabalha como evangelizador de segurança da informação no Brasil. Preocupado com a conscientização de segurança cibernética, a ideia inicial é conseguir expor um pouco para o publico Brasileiro do que acontece no mundo.

Recent Posts

Okta alerta para campanha de vishing “Pink” que registra passkeys adversariais em contas Microsoft 365

Grupo O-UNC-066/Pink combina chamadas telefônicas com páginas falsas do Entra ID para enrolar passkeys controlados…

11 horas ago

CISA publica post-mortem de vazamento de chaves AWS GovCloud em GitHub pessoal de contratado

CISA detalha resposta a incidente em que credenciais AWS GovCloud e código de infraestrutura interno…

11 horas ago

Zimbra alerta para falha crítica de XSS armazenado no Classic Web Client; patch 10.1.19 é obrigatório

Zimbra emite alerta crítico após identificar vulnerabilidade stored XSS no Classic Web Client que permite…

11 horas ago

ANPD publica o 1º relatório do sandbox de IA: Metatext, Synapse AI e Prevvine sob supervisão desde março

ANPD divulga 1º Relatório Parcial do Sandbox Regulatório de IA: Metatext, Synapse AI e Prevvine…

15 horas ago

Grok 4.5 gasta 4,2x menos tokens que Opus 4.8 no SWE-Bench Pro: SpaceXAI aposta na eficiência para vencer no custo por tarefa

Grok 4.5 chega com foco em código e agentes: 15.954 tokens médios em SWE-Bench Pro…

15 horas ago

Qualcomm compra Modular por US$ 3,9 bi para atacar o fosso do CUDA: MAX e Mojo entram na guerra por data centers

Qualcomm anuncia compra da Modular por ~US$ 3,9 bi para desafiar CUDA da NVIDIA com…

15 horas ago