Description
An issue in fetch_jpg() in xdrv_10_scripter.ino in Tasmota through 15.3.0.3 allows a remote attacker to cause heap buffer overflow. The Content-Length from a JPEG stream is stored in a uint16_t variable; values above 65535 wrap around, causing allocation of a smaller buffer than the data actually read.
Published: 2026-05-27
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises in the fetch_jpg() routine of Tasmota firmware up to 15.3.0.3. A 16‑bit unsigned variable stores the Content‑Length header of an incoming JPEG stream. When the declared length exceeds 65535 bytes, the value wraps around, resulting in allocation of a buffer smaller than the actual data. This heap buffer overflow allows a remote attacker who can supply a specially crafted JPEG stream to overwrite memory, potentially causing a device crash or other unintended behaviour, though arbitrary code execution is not documented.

Affected Systems

Tasmota firmware 15.3.0.3 or earlier on any device running the affected build. No other vendors or products are listed.

Risk and Exploitability

The CVSS score of 7.3 reflects a high severity with a remote attack vector and user interaction not required. The EPSS score is not available; the vulnerability is not listed in KEV, suggesting no public exploits yet. An attacker only needs to send a JPEG stream with a Content‑Length header larger than 65535 bytes to trigger the overflow. Successful exploitation would most likely result in a device crash or service disruption.

Generated by OpenCVE AI on May 28, 2026 at 00:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Tasmota firmware version newer than 15.3.0.3, which contains the buffer‑size check fix.
  • Configure the device or network to reject JPEG streams that report a Content‑Length larger than the acceptable threshold (e.g., 65535 bytes) before they are passed to fetch_jpg().
  • Enable or review device logs to detect abnormal JPEG payload sizes and quarantine or block the source if repeated anomalies occur.

Generated by OpenCVE AI on May 28, 2026 at 00:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 30 May 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Arendst
Arendst tasmota
Vendors & Products Arendst
Arendst tasmota

Thu, 28 May 2026 01:15:00 +0000

Type Values Removed Values Added
Title Heap Buffer Overflow in Tasmota JPEG Fetch Function Enables Device Crash

Wed, 27 May 2026 23:15:00 +0000

Type Values Removed Values Added
Title Heap Buffer Overflow in Tasmota JPEG Stream Handler
Weaknesses CWE-120

Wed, 27 May 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-122
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 27 May 2026 17:15:00 +0000

Type Values Removed Values Added
Title Heap Buffer Overflow in Tasmota JPEG Stream Handler
Weaknesses CWE-120

Wed, 27 May 2026 14:15:00 +0000

Type Values Removed Values Added
Description An issue in fetch_jpg() in xdrv_10_scripter.ino in Tasmota through 15.3.0.3 allows a remote attacker to cause heap buffer overflow. The Content-Length from a JPEG stream is stored in a uint16_t variable; values above 65535 wrap around, causing allocation of a smaller buffer than the data actually read.
References

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-05-27T18:20:24.531Z

Reserved: 2026-04-06T00:00:00.000Z

Link: CVE-2026-38427

cve-icon Vulnrichment

Updated: 2026-05-27T18:20:20.318Z

cve-icon NVD

Status : Deferred

Published: 2026-05-27T14:16:46.023

Modified: 2026-05-27T20:03:09.937

Link: CVE-2026-38427

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-30T21:22:33Z

Weaknesses
  • CWE-122

    Heap-based Buffer Overflow