
Este repositório contém um programa em C para testar a CVE-2024-2961, uma vulnerabilidade de estouro de buffer na função iconv() do glibc.
Este repositório contém um programa em C para testar a CVE-2024-2961, que envolve uma vulnerabilidade de estouro de buffer na função iconv() da GNU C Library (glibc). Devido à estrutura do heap do PHP, esse estouro pode ser explorado para modificar parte de um ponteiro de lista livre, fornecendo, em última análise, uma primitiva de escrita arbitrária na memória do programa. Consequentemente, qualquer atacante com uma vulnerabilidade de leitura de arquivo e um prefixo controlado em uma aplicação PHP pode obter RCE. Da mesma forma, forçar o PHP a chamar iconv() com parâmetros controlados concede ao atacante a mesma capacidade.
iconv instalada.Certifique-se de que seu sistema possui glibc versão 2.39 ou anterior:
ldd --version
Clone este repositório para sua máquina local:
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
Use o GCC para compilar o programa em C:
gcc -o test_iconv test_iconv.c -liconv
Execute o programa compilado:
./test_iconv
gdb para analisar a falha e confirmar se ela está relacionada à vulnerabilidade.Se você encontrar uma falha, pode usar o gdb para obter mais detalhes:
gdb ./test_iconv
Dentro do GDB, execute o programa:
run
Se o programa falhar, você pode inspecionar o estado do programa:
bt
Isso fornecerá um backtrace da falha, o que pode ajudar a diagnosticar se o estouro é devido à CVE.
Compile o programa com AddressSanitizer para detectar o estouro:
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
O AddressSanitizer fornecerá informações detalhadas se houver um estouro de buffer.
Se a vulnerabilidade for confirmada, considere atualizar a glibc para uma versão em que esse problema esteja corrigido. Você pode baixar e instalar a versão mais recente no site do projeto GNU ou pelo gerenciador de pacotes da sua distribuição.
Para mais detalhes sobre esta vulnerabilidade, você pode ler o seguinte artigo de pesquisa: GLIBC Flaw CVE-2024-2961 Opens Door to RCE, PoC Exploit Published
Este código é apenas para fins educacionais e de teste. Não o utilize em sistemas sem a devida autorização.