
Ce dépôt contient un programme C pour tester la CVE-2024-2961, une vulnérabilité de débordement de tampon dans la fonction iconv() de glibc.
Ce dépôt contient un programme C pour tester CVE-2024-2961, qui implique une vulnérabilité de dépassement de tampon dans la fonction iconv() de la bibliothèque GNU C (glibc). En raison de la structure du tas de PHP, ce dépassement peut être exploité pour modifier une partie d'un pointeur de liste libre, fournissant finalement une primitive d'écriture arbitraire dans la mémoire du programme. Par conséquent, tout attaquant disposant d'une vulnérabilité de lecture de fichier et d'un préfixe contrôlé sur une application PHP peut atteindre une exécution de code à distance (RCE). De même, forcer PHP à appeler iconv() avec des paramètres contrôlés accorde à l'attaquant la même capacité.
iconv installée.Assurez-vous que votre système dispose de glibc version 2.39 ou antérieure :
ldd --version
Clonez ce dépôt sur votre machine locale :
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
Utilisez GCC pour compiler le programme C :
gcc -o test_iconv test_iconv.c -liconv
Exécutez le programme compilé :
./test_iconv
gdb pour analyser le plantage et confirmer s'il est lié à la vulnérabilité.Si vous rencontrez un plantage, vous pouvez utiliser gdb pour obtenir plus de détails :
gdb ./test_iconv
Dans GDB, exécutez le programme :
run
Si le programme plante, vous pouvez inspecter l'état du programme :
bt
Cela vous donnera une trace de la pile du plantage, ce qui peut aider à diagnostiquer si le dépassement est dû à la CVE.
Compilez le programme avec AddressSanitizer pour détecter le dépassement :
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
AddressSanitizer fournira des informations détaillées en cas de dépassement de tampon.
Si la vulnérabilité est confirmée, envisagez de mettre à jour glibc vers une version où ce problème est corrigé. Vous pouvez télécharger et installer la dernière version depuis le site Web du projet GNU ou le gestionnaire de paquets de votre distribution.
Pour plus de détails sur cette vulnérabilité, vous pouvez lire l'article de recherche suivant : Une faille GLIBC CVE-2024-2961 ouvre la porte à l'exécution de code à distance, un PoC d'exploit publié
Ce code est uniquement destiné à des fins éducatives et de test. Ne l'utilisez pas sur des systèmes sans autorisation appropriée.