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

Falha crítica no better-auth permite criação não autenticada de API keys e risco de takeover

Falha crítica no better-auth permite criar API keys sem autenticação para usuários arbitrários, com risco…

6 dias ago

Spyware Graphite da Paragon volta ao foco após achados forenses e vazamentos em debate

Graphite, spyware ligado à Paragon, volta ao foco com evidências forenses de ataques zero-click a…

6 dias ago

SmartLoader usa servidor MCP trojanizado da Oura para espalhar StealC e mirar credenciais de devs

Nova campanha SmartLoader manipula a confiança em repositórios e diretórios de MCP para distribuir StealC.…

6 dias ago

CISA adiciona CVE-2024-7694 ao KEV: falha no ThreatSonar pode permitir execução remota de comandos

A CISA incluiu o CVE-2024-7694 no catálogo KEV após confirmação de exploração em ambiente real.…

6 dias ago

Dragos: grupo ligado à China manteve acesso a redes de energia dos EUA para possível sabotagem

Relatório da Dragos indica que operadores ligados à China mantiveram acesso persistente a redes de…

7 dias ago

Golpe com falso e-mail da Previdência dos EUA usa ScreenConnect para tomar controle de PCs

Campanha de phishing com falso e-mail da SSA desativa proteções do Windows e instala ScreenConnect…

1 semana ago