Description
ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. Prior to version 3.11.2, the multipart parser in `src/WebRequest.cpp` frees `_itemBuffer` and sets it to NULL when `BOUNDARY_OR_DATA` matches the closing boundary of a file part, before confirming the following terminator, while leaving `_itemIsFile` true. If the next byte is neither the final closing dashes nor a clean CRLF, the `DASH3_OR_RETURN2` or `EXPECT_FEED2` rewind branch re-injects provisionally consumed bytes through `itemWriteByte`. Because `_itemIsFile` remains true, `_itemBuffer`[`_itemBufferIndex`++] writes through a null pointer. On ESP32 this causes a `StoreProhibited` exception, panic and device reboot, producing remote denial of service. A route with a non-trivial body/upload handler, such as a file-upload or web-OTA endpoint, must be present. This issue is fixed in version 3.11.2.
Published: 2026-10-30
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: Remote Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The ESPAsyncWebServer multipart parser contains a null‑pointer write that can trigger a panic exception on ESP32 devices. When the parser frees the internal buffer during the closing boundary of a file part without confirming the terminator, a subsequent write is performed through a null pointer. This causes an immediate StoreProhibited exception, leading to a device reboot and loss of service. The weakness is a null pointer dereference (CWE‑476) combined with improper resource management (CWE‑672).

Affected Systems

The vulnerability affects the ESPAsyncWebServer library from ESP32Async. All platform variants of the library – including ESP32, ESP8266, RP2040 and RP2350 – are impacted when the library is any version older than 3.11.2. An application that exposes a non‑trivial body or upload handler, such as a file‑upload or web‑OTA endpoint, is required for the flaw to be exercised.

Risk and Exploitability

The situation presents a remote denial‑of‑service risk. An attacker who can send a crafted multipart HTTP request to a target device is able to force the server to trigger the buffer mismanagement and cause the device to reboot. The CVSS score of 7.5 reflects the high likelihood of exploitation against devices that expose upload routes. The EPSS score is not available, and the flaw is not listed in the CISA KEV catalog. Because the attack vector relies on network access to the web server, the main prerequisite is an exposed upload endpoint and network connectivity to the device. No public exploit is disclosed, but the flaw is easy to trigger with a syntactically correct request containing an improper closing boundary.

Generated by OpenCVE AI on October 30, 2026 at 22:37 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade ESPAsyncWebServer to version 3.11.2 or later.
  • If an upgrade is not immediately possible, remove or disable any file‑upload or OTA endpoints until the library update is applied.
  • Apply general input validation to multipart uploads to ensure that the closing boundary is correctly formatted and that no further bytes are processed after the buffer is freed.

Generated by OpenCVE AI on October 30, 2026 at 22:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Esp32async
Esp32async espasyncwebserver
Vendors & Products Esp32async
Esp32async espasyncwebserver

Fri, 30 Oct 2026 21:00:00 +0000

Type Values Removed Values Added
Description ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. Prior to version 3.11.2, the multipart parser in `src/WebRequest.cpp` frees `_itemBuffer` and sets it to NULL when `BOUNDARY_OR_DATA` matches the closing boundary of a file part, before confirming the following terminator, while leaving `_itemIsFile` true. If the next byte is neither the final closing dashes nor a clean CRLF, the `DASH3_OR_RETURN2` or `EXPECT_FEED2` rewind branch re-injects provisionally consumed bytes through `itemWriteByte`. Because `_itemIsFile` remains true, `_itemBuffer`[`_itemBufferIndex`++] writes through a null pointer. On ESP32 this causes a `StoreProhibited` exception, panic and device reboot, producing remote denial of service. A route with a non-trivial body/upload handler, such as a file-upload or web-OTA endpoint, must be present. This issue is fixed in version 3.11.2.
Title ESPAsyncWebServer multipart parser has null-pointer write
Weaknesses CWE-476
CWE-672
References
Metrics cvssV3_1

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


Subscriptions

Esp32async Espasyncwebserver
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T20:53:37.292Z

Reserved: 2026-07-14T22:48:09.779Z

Link: CVE-2026-62966

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-30T21:17:15.137

Modified: 2026-10-30T21:17:15.257

Link: CVE-2026-62966

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T22:45:14Z

Weaknesses
  • CWE-476

    NULL Pointer Dereference

  • CWE-672

    Operation on a Resource after Expiration or Release