Skip to main content

ESPAsyncWebServer CVE-2026-54571

| EUVDEUVD-2026-82385 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-09-17 security-advisories@github.com
8.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Reach device HTTP endpoint on network
  2. Delivery
    Send POST with 256-byte multipart boundary
  3. Exploit
    uint8_t _boundaryPosition wraps 255→0
  4. Execution
    Boundary parse loop never terminates
  5. Persist
    CPU exhaustion trips FreeRTOS watchdog
  6. Impact
    Device resets / offline

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

No authentication or user interaction required (PR:N/UI:N/AC:L). The specific prerequisite is that the target ESP32/ESP8266/RP2040/RP2350 device runs ESPAsyncWebServer prior to 3.11.1 AND handles multipart/form-data POST requests (typically a file-upload or form-handling endpoint), because the flaw is in the multipart boundary parser. The concrete trigger is a Content-Type header whose multipart boundary parameter is exactly 256 bytes, wrapping the 8-bit _boundaryPosition counter. Limiting factors: the attacker must be able to route an HTTP request to the device (many such devices sit on LANs/segmented IoT networks rather than the public internet), and the impact is limited to a device reset/hang - no code execution or data disclosure.

Impact

This is a genuine, straightforward denial-of-service risk against internet/network-reachable IoT devices. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VA:H, VC:N/VI:N) is internally consistent with the description: a remote, unauthenticated attacker sends a single crafted HTTP request with no user interaction and no special attack requirements, and the only impact is availability (a FreeRTOS watchdog reset). There is NO confidentiality or integrity impact, so the 8.7 'High' rating is driven entirely by the ease of a full-device reboot/hang, not by data exposure - the 'Information Disclosure' tag contradicts the vector (VC:N) and appears to be a mislabel. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis'; however, the advisory and commit describe the trigger with unusual precision (an exactly 256-byte multipart boundary overflowing a uint8_t counter), which lowers the effort to reproduce. Net: real priority for exposed ESP32/ESP8266 devices that accept multipart uploads, but the impact ceiling is a reboot/hang rather than code execution or data loss.

Exploit ScenarioDerived

An attacker who can reach the device's HTTP endpoint sends a POST request with Content-Type multipart/form-data whose boundary parameter is exactly 256 bytes long. The 8-bit _boundaryPosition counter wraps from 255 to 0, the boundary-parsing loop never terminates, CPU is pinned, and the FreeRTOS watchdog resets the ESP32/ESP8266, taking the device offline; repeating the request keeps it in a reboot loop. No public exploit code was identified, but the advisory documents the exact trigger condition.

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

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

Alert me

AnalysisAIv1 – Sep 17, 2026

Denial of service in ESPAsyncWebServer (all versions prior to 3.11.1) lets an unauthenticated remote attacker hang or reset ESP32, ESP8266, RP2040, and RP2350 devices by sending a multipart/form-data POST whose boundary parameter is exactly 256 bytes long, which wraps the 8-bit _boundaryPosition counter to zero and traps the boundary-parsing loop in an endless spin until the FreeRTOS task watchdog fires. Exploitation requires no credentials and no user interaction (CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U with A:H), but the device must be network-reachable and must expose an endpoint that accepts multipart POSTs, such as a file-upload or form handler; many such devices sit on isolated LANs, which limits practical exposure. At time of analysis there was no CISA KEV entry and no public exploit code identified, and the impact is confined to a device reset or hang - no code execution, data disclosure, or persistence.

RemediationAI

Upgrade ESPAsyncWebServer to version 3.11.1 or later, which is the vendor-released patch containing the widened size_t counter plus the explicit rejection of boundaries that are empty or exceed 70 characters (see the release notes at https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1, the advisory at https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4, and the fix in commit b928de7cbd7debcd6266ece6a6c46f10a86d3a6f / PR #445). Because this is a library rather than a standalone service, patching means updating the dependency in each firmware project and reflashing every deployed device; audit your build for transitive or vendored copies, since PlatformIO/Arduino dependency pins are easy to miss. If immediate reflashing is not feasible, place the affected devices behind a reverse proxy or API gateway that enforces a maximum Content-Type header length (reject boundaries over roughly 70 characters) and caps multipart body size - note this adds configuration overhead and can break legitimate large file-uploads if the limit is set too low. Disabling or removing multipart POST endpoints from untrusted networks removes the attack surface entirely but also disables OTA and form-based configuration, which may be operationally unacceptable. Restricting device management interfaces to a segmented VLAN or VPN and blocking their HTTP ports from the internet and from general-purpose client networks is a complementary compensating control that does not require firmware changes. As with most embedded DoS fixes, physical recovery may be needed after a successful trigger, so prioritize patching internet- or guest-network-reachable devices first.

Affected VersionsENISA

ESPAsyncWebServer < 3.11.1

Affected Packages

euvd espasyncwebserver fix: 3.11.1

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

The root cause is CWE-190 (Integer Overflow or Wraparound) in the multipart/form-data parser of src/WebRequest.cpp. AsyncWebServerRequest declared _boundaryPosition as uint8_t, and _parseMultipartPostByte increments it while scanning incoming body bytes for the MIME boundary delimiter. Because the counter can only hold 0-255, a boundary string of exactly 256 bytes causes the counter to overflow from 255 back to 0 at the precise moment the parser should have matched the final byte, so the BOUNDARY_OR_DATA state machine never reaches its terminating condition and loops indefinitely, burning CPU until the ESP32/ESP8266 FreeRTOS watchdog resets the chip. RFC 2046 section 5.1 caps boundary strings at 70 characters, so lengths near 256 are non-conformant but were previously accepted by the library. The upstream fix (commit b928de7cbd7debcd6266ece6a6c46f10a86d3a6f, PR #445) widens _boundaryPosition from uint8_t to size_t, rejects boundaries that are empty or longer than 70 characters before parsing begins, and hardens the surrounding header handling - case-insensitive and quote-aware boundary extraction, plus corrected RFC 7230 OWS (optional whitespace) stripping in AsyncWebHeader::parse. No CPE strings were supplied in the input data, so exact platform CPEs for the embedded Arduino/PlatformIO ecosystems are not enumerated here; the affected software is the ESPAsyncWebServer library itself rather than a downstream firmware image.

Know when the next one hits your stack

  • 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) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote, unauthenticated, single crafted request with no user interaction (AV:N/AC:L/PR:N/UI:N); impact is a device watchdog reset only, so A:H with C:N/I:N.

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).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 17, 2026 - 20:20 EUVD
CVE Published
Sep 17, 2026 - 19:16 cve.org
HIGH 8.7

DescriptionCVE.org

ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. Prior to 3.11.1, the multipart/form-data parser in src/WebRequest.cpp stores _boundaryPosition as an 8-bit value while _parseMultipartPostByte processes the boundary. A remote request containing an exactly 256-byte multipart boundary wraps _boundaryPosition from 255 to zero, prevents the boundary parsing loop from terminating, consumes excessive CPU, and triggers a FreeRTOS watchdog reset on affected ESP32 or ESP8266 devices. This issue is fixed in version 3.11.1.

Technical POC Analysis

CWE-190 integer overflow/wraparound, in the multipart/form-data parser of ESPAsyncWebServer, file src/WebRequest.cpp, function parseMultipartPostByte.

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

ESPAsyncWebServer, an embedded web-server library used across ESP32, ESP8266, RP2040 and RP2350 microcontroller products, can be remotely hung or forced to reboot by a single unauthenticated HTTP request, knocking affected devices offline until they recover. Because the flaw is a straightforward denial-of-service and requires no credentials or user interaction, any network-reachable device exposing a file-upload, form or OTA endpoint - including fielded sensors, controllers and connected consumer hardware - is a candidate for repeated disruption. Leadership should care because the exposure is availability-only (no code execution, data loss or persistence) and is largely confined to devices reachable on a network segment, but unpatched fleets can be cycled offline at will by anyone who can reach them.

Business Impact: Medium
Compensating Controls

No vendor-released patch was identified at time of analysis; interim mitigations are to disable or block multipart/form-data POST endpoints (file upload, form and OTA handlers) on affected devices, restrict device management and upload interfaces to trusted or isolated network segments via firewall/VLAN rules, place a reverse proxy or rate limiter in front of any internet-reachable device, and enable or shorten watchdog-based auto-recovery so a hung task returns to service. Where a build path exists, upgrading the bundled library to 3.11.1 removes the condition.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
very popular ESP32/ESP8266 web server library, but confined to IoT/hobbyist ecosystem
Data Quality
6 sources
Confidence: High

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.3%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

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