
Exploit para CVE-2025-32023
Execução Remota de Código em Operações HyperLogLog do Redis
CVE-2025-32023 é uma vulnerabilidade de execução remota de código (RCE) no banco de dados Redis, afetando especificamente o tratamento de operações da estrutura de dados HyperLogLog. Esta falha permite que um utilizador autenticado acione uma escrita fora dos limites baseada em pilha ou heap ao enviar strings manipuladas, potencialmente levando à execução arbitrária de código no servidor. A vulnerabilidade decorre de um overflow de inteiro no processamento de codificações esparsas HyperLogLog. Foi relatada pela GitHub, Inc. (descobridor específico não divulgado publicamente) e está presente no Redis desde a versão 2.8.
Um atacante autenticado com acesso a uma instância Redis vulnerável pode explorar esta vulnerabilidade para executar código arbitrário no servidor, potencialmente levando ao comprometimento total do sistema. Isso pode resultar em acesso não autorizado a dados sensíveis, instalação de backdoors persistentes ou interrupção de serviços. A vulnerabilidade é particularmente crítica em ambientes onde o Redis é usado para cache de alto desempenho ou processamento de dados, pois pode expor infraestruturas críticas a ataques.
Este repositório contém um script de exploração para o CVE-2025-32023. Substitua os comandos placeholder abaixo pelas instruções específicas para executar seu script.
# Example usage (replace with actual commands for your script):
git clone https://github.com/atomicjjbod/CVE-2025-32023.git
cd CVE-2025-32023
chmod +x exploit
./exploit --host <redis_host> --port <redis_port>
Nota: Certifique-se de ter as dependências necessárias instaladas (ex.: Python, bibliotecas cliente Redis). Teste o exploit em um ambiente controlado para evitar consequências indesejadas.
PFADD, PFCOUNT, PFMERGE). Exemplo de configuração ACL:
ACL SETUSER username -~pf*
A vulnerabilidade surge de um overflow de inteiro no processamento de codificações esparsas HyperLogLog. Especificamente, ao iterar sobre dados HyperLogLog esparsos, o contador de comprimento (int i) pode transbordar para um valor negativo devido a entrada malformada, levando a uma escrita fora dos limites na pilha ou no heap. Isso pode ser explorado para corromper a memória e executar código arbitrário, dependendo do contexto (ex.: hllMerge utiliza estruturas alocadas na pilha, enquanto hllSparseToDense utiliza estruturas alocadas no heap).
O problema foi corrigido no Redis adicionando verificações de limites e corrigindo o tratamento de contadores de comprimento nas operações HyperLogLog. A correção está incluída no seguinte commit: Redis Commit 50188747.
Até 10 de julho de 2025, não foi relatada exploração generalizada do CVE-2025-32023 na natureza. No entanto, código de prova de conceito público está disponível, aumentando o risco de ataques direcionados. Os utilizadores do Redis são instados a aplicar as correções prontamente e implementar as mitigações recomendadas para proteger seus sistemas.