Skip to main content

ESPAsyncWebServer CVE-2026-62966

| EUVDEUVD-2026-114469 HIGH
NULL Pointer Dereference (CWE-476)
2026-10-30 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach device upload/OTA endpoint over network
  2. Delivery
    Send multipart POST closing file part with boundary
  3. Exploit
    Append non-terminator byte triggering rewind branch
  4. Execution
    Write through freed NULL _itemBuffer
  5. Impact
    StoreProhibited panic and device reboot (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target firmware to have registered a route with a non-trivial body/upload handler - specifically a file-upload or web-OTA endpoint - so the multipart parser path in src/WebRequest.cpp is reachable; devices without such an endpoint are not exploitable. Given that endpoint, no authentication, privileges, or user interaction are needed (PR:N/UI:N): the attacker sends a multipart/form-data request where the closing '--<boundary>' appears after a \r\n in the file body and is followed by a byte that is neither the final '--' nor a clean '\r\n' (e.g. a tab), forcing the DASH3_OR_RETURN2/EXPECT_FEED2 rewind branch to write through the freed NULL _itemBuffer. Limiting factors: impact is confirmed as a StoreProhibited panic/reboot on ESP32 (availability only, no code execution or data access), and the only complete fix per the vendor is upgrading to 3.11.2.

Impact

All exploitability signals point the same way: the CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N is a remote, low-complexity, unauthenticated path, and PR:N confirms no authentication is required. The GHSA advisory calls the trigger 'deterministic' and supplies a single curl command, so attack complexity is genuinely low. However, impact is strictly availability (C:N/I:N/A:H) - a null-pointer write (CWE-476, with CWE-672 use-after-free as the design root cause) causing a StoreProhibited panic and reboot on ESP32; there is no data disclosure or code execution, so the 7.5 'High' is driven entirely by device crash/DoS. No EPSS score was provided and this CVE is NOT in CISA KEV, so there is no evidence of active exploitation; the vuln.today decision label is 'this_week', not act_now or emergency. The one real constraint is deployment-dependent: exploitation requires the target firmware to register a non-trivial body/upload handler (file-upload or web-OTA endpoint), which is an application design choice, not a default. Net: a credible, easy-to-trigger remote DoS worth patching promptly on affected IoT fleets that expose upload/OTA routes, but it is availability-only and not an emergency given no KEV and no EPSS signal.

Exploit ScenarioDerived

An attacker with network reachability to an ESP32 device running a vulnerable firmware upload or web-OTA endpoint sends a multipart/form-data POST whose file part is closed with the boundary followed by a non-terminator byte (e.g. '...hello\r\n--X\tjunk'). The parser has already freed and nulled the item buffer while leaving _itemIsFile true, so the rewind logic writes through the null pointer and panics the device into a reboot. A public PoC reference exists (a deterministic curl command in the GHSA advisory and a regression test in the fix commit); it is not labeled as confirmed working exploit code in the input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

Remote denial of service in ESPAsyncWebServer (all versions prior to 3.11.2, i.e. up to and including 3.11.1) lets an unauthenticated remote attacker reboot an affected ESP32 device by sending a single malformed multipart/form-data request to a route that has a non-trivial body handler, such as a file-upload or web-OTA endpoint. The multipart parser frees and NULLs the file-item buffer the instant it matches the closing '--<boundary>' but leaves the file flag set, so when the next byte is neither the final '--' nor a clean CRLF the rewind logic writes through the NULL pointer, triggering a StoreProhibited exception, panic and device reboot. The flaw is fixed in 3.11.2; there is no CISA KEV entry and no confirmed working exploit code, although the vendor advisory publishes a public curl reproducer that is not verified as weaponized exploit code.

RemediationAI

Vendor-released patch: upgrade ESPAsyncWebServer to version 3.11.2 (or later), which clears _itemIsFile when the item buffer is freed and adds a defensive NULL-buffer guard before itemWriteByte writes. The vendor states that updating is the only complete fix, so treat the upgrade as mandatory for any device exposing an upload or web-OTA endpoint; patch references are https://github.com/ESP32Async/ESPAsyncWebServer/tree/v3.11.2 and commit https://github.com/ESP32Async/ESPAsyncWebServer/commit/4efbd35e597d91f01749f2d4a14bb78fba8ea02e, with details in GHSA-8m8p-vhxc-jmjw. Because the crash path requires a route with a non-trivial body handler, devices without such an endpoint are not exploitable - if an upgrade cannot be deployed immediately, removing or disabling file-upload and web-OTA routes, or restricting them to trusted network segments, removes reachability of the vulnerable parser, at the cost of losing those features (including over-the-air update capability) until the patched library is flashed.

Affected VersionsENISA

ESPAsyncWebServer < 3.11.2

Affected Packages

euvd espasyncwebserver fix: 3.11.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ESPAsyncWebServer is an asynchronous HTTP/WebSocket server library for ESP32, ESP8266, RP2040 and RP2350 microcontrollers; the defect lives in the multipart/form-data state machine in src/WebRequest.cpp. When the parser is in the BOUNDARY_OR_DATA state and matches the closing boundary of a file part, it calls free(_itemBuffer) and sets _itemBuffer = NULL (around lines 918-919) before confirming the following terminator byte, and it does not clear the _itemIsFile flag. If the byte after the boundary match is neither the final closing '--' nor a clean '\r\n' - for example a tab - control falls into the rewind branches of DASH3_OR_RETURN2 (~lines 941-947) or EXPECT_FEED2 (~lines 948-960), which re-inject provisionally consumed bytes via itemWriteByte(). Because _itemIsFile is still true, that path reaches _itemBuffer[_itemBufferIndex++] = data (line ~728) with _itemBuffer == NULL, a store to address zero. The issue is classified CWE-476 (NULL Pointer Dereference), with the vendor also attributing the root design cause to CWE-672 (operation on a resource after release). On ESP32 the fault surfaces as a StoreProhibited exception, panic and reboot - availability impact only, with no memory-corruption outcome, code execution or data disclosure demonstrated. The bug was reportedly found by fuzzing with AI-assisted analysis; the trigger is deterministic and requires the closing '--<boundary>' to appear after a CRLF in the file body followed by a non-terminator byte. The CPE cpe:2.3:a:esp32async:espasyncwebserver:*:*:*:*:*:*:*:* reflects that the vendor advisory covers all earlier releases; the fix commit 4efbd35e597d91f01749f2d4a14bb78fba8ea02e both clears _itemIsFile when the buffer is freed and adds a defensive NULL check in _parsePlainPostChar. Crash behaviour is confirmed on ESP32; the advisory does not describe the resulting fault on ESP8266, RP2040 or RP2350 builds, so impact on those targets is unverified.

Know when Espasyncwebserver gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Deterministic remote unauthenticated trigger over HTTP (AV:N/AC:L/PR:N/UI:N); impact is only a crash/reboot, so C:N/I:N/A:H and scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 22:03 EUVD
CVE Published
Oct 30, 2026 - 20:53 cve.org
HIGH 7.5

DescriptionCVE.org

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.

Technical POC Analysis

CWE-476 (NULL Pointer Dereference), with the advisory also assigning CWE-672 (use of a resource after release) as the underlying design cause.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity vulnerability in the ESPAsyncWebServer library (versions up to 3.11.1) allows unauthenticated attackers to remotely reboot ESP32 devices with a single malformed request, disrupting operations for any product using this library. This poses a significant availability risk, especially for critical IoT, industrial, or consumer devices, and could lead to service outages or safety incidents. Leadership should prioritize remediation to prevent potential business disruption and reputational damage.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Medium
popular ESP32/ESP8266/RP2040 async web server library, mostly IoT/maker deployments
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy