Search
Find a vulnerability
Search criteria
6 vulnerabilities found for ESPAsyncWebServer by ESP32Async
CVE-2026-62966 (GCVE-0-2026-62966)
Vulnerability from nvd – Published: 2026-10-30 20:53 – Updated: 2026-10-30 20:53
VLAI
EPSS
VEX
Title
ESPAsyncWebServer multipart parser has null-pointer write
Summary
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.
Severity
7.5 (High)
CWE
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/c… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/t… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
< 3.11.2
|
{
"containers": {
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c 3.11.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-476",
"description": "CWE-476: NULL Pointer Dereference",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-672",
"description": "CWE-672: Operation on a Resource after Expiration or Release",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:53:37.292Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-8m8p-vhxc-jmjw",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-8m8p-vhxc-jmjw"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/4efbd35e597d91f01749f2d4a14bb78fba8ea02e",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/4efbd35e597d91f01749f2d4a14bb78fba8ea02e"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/tree/v3.11.2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/tree/v3.11.2"
}
],
"source": {
"advisory": "GHSA-8m8p-vhxc-jmjw",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer multipart parser has null-pointer write"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62966",
"datePublished": "2026-10-30T20:53:37.292Z",
"dateReserved": "2026-07-14T22:48:09.779Z",
"dateUpdated": "2026-10-30T20:53:37.292Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-54571 (GCVE-0-2026-54571)
Vulnerability from nvd – Published: 2026-09-17 18:28 – Updated: 2026-09-21 21:05
VLAI
EPSS
VEX
Title
ESPAsyncWebServer: Integer overflow in multipart boundary parser causes denial of service
Summary
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.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-21 21:05 UTC
CWE
- CWE-190 - Integer Overflow or Wraparound
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/p… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/c… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/r… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
< 3.11.1
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-54571",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-21T21:05:35.710251Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-21T21:05:49.373Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c 3.11.1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-190",
"description": "CWE-190: Integer Overflow or Wraparound",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-17T18:28:26.977Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/445",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/445"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/b928de7cbd7debcd6266ece6a6c46f10a86d3a6f",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/b928de7cbd7debcd6266ece6a6c46f10a86d3a6f"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1"
}
],
"source": {
"advisory": "GHSA-4phx-fcj6-46r4",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer: Integer overflow in multipart boundary parser causes denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-54571",
"datePublished": "2026-09-17T18:28:26.977Z",
"dateReserved": "2026-06-15T19:15:27.343Z",
"dateUpdated": "2026-09-21T21:05:49.373Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2025-53094 (GCVE-0-2025-53094)
Vulnerability from nvd – Published: 2025-06-27 19:57 – Updated: 2025-06-27 20:19
VLAI
EPSS
VEX
Title
ESPAsyncWebServer Vulnerable to CRLF Injection in AsyncWebHeader.cpp
Summary
ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. In versions up to and including 3.7.8, a CRLF (Carriage Return Line Feed) injection vulnerability exists in the construction and output of HTTP headers within `AsyncWebHeader.cpp`. Unsanitized input allows attackers to inject CR (`\r`) or LF (`\n`) characters into header names or values, leading to arbitrary header or response manipulation. Manipulation of HTTP headers and responses can enable a wide range of attacks, making the severity of this vulnerability high. A fix is available at pull request 211 and is expected to be part of version 3.7.9.
Severity
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2025-06-27 20:18 UTC
CWE
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/p… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/b… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
<= 3.7.8
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-53094",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-06-27T20:18:58.292035Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-06-27T20:19:14.457Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c= 3.7.8"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. In versions up to and including 3.7.8, a CRLF (Carriage Return Line Feed) injection vulnerability exists in the construction and output of HTTP headers within `AsyncWebHeader.cpp`. Unsanitized input allows attackers to inject CR (`\\r`) or LF (`\\n`) characters into header names or values, leading to arbitrary header or response manipulation. Manipulation of HTTP headers and responses can enable a wide range of attacks, making the severity of this vulnerability high. A fix is available at pull request 211 and is expected to be part of version 3.7.9."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-93",
"description": "CWE-93: Improper Neutralization of CRLF Sequences (\u0027CRLF Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-113",
"description": "CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers (\u0027HTTP Request/Response Splitting\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-06-27T19:57:15.032Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-87j8-6f7g-h8wh",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-87j8-6f7g-h8wh"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/211",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/211"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/blob/1095dfd1ecf1a903aede29854232af1b24f089b1/src/AsyncWebHeader.cpp#L6-L32",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/blob/1095dfd1ecf1a903aede29854232af1b24f089b1/src/AsyncWebHeader.cpp#L6-L32"
}
],
"source": {
"advisory": "GHSA-87j8-6f7g-h8wh",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer Vulnerable to CRLF Injection in AsyncWebHeader.cpp"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2025-53094",
"datePublished": "2025-06-27T19:57:15.032Z",
"dateReserved": "2025-06-25T13:41:23.086Z",
"dateUpdated": "2025-06-27T20:19:14.457Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}
CVE-2026-62966 (GCVE-0-2026-62966)
Vulnerability from cvelistv5 – Published: 2026-10-30 20:53 – Updated: 2026-10-30 20:53
VLAI
EPSS
VEX
Title
ESPAsyncWebServer multipart parser has null-pointer write
Summary
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.
Severity
7.5 (High)
CWE
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/c… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/t… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
< 3.11.2
|
{
"containers": {
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c 3.11.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-476",
"description": "CWE-476: NULL Pointer Dereference",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-672",
"description": "CWE-672: Operation on a Resource after Expiration or Release",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T20:53:37.292Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-8m8p-vhxc-jmjw",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-8m8p-vhxc-jmjw"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/4efbd35e597d91f01749f2d4a14bb78fba8ea02e",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/4efbd35e597d91f01749f2d4a14bb78fba8ea02e"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/tree/v3.11.2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/tree/v3.11.2"
}
],
"source": {
"advisory": "GHSA-8m8p-vhxc-jmjw",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer multipart parser has null-pointer write"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-62966",
"datePublished": "2026-10-30T20:53:37.292Z",
"dateReserved": "2026-07-14T22:48:09.779Z",
"dateUpdated": "2026-10-30T20:53:37.292Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-54571 (GCVE-0-2026-54571)
Vulnerability from cvelistv5 – Published: 2026-09-17 18:28 – Updated: 2026-09-21 21:05
VLAI
EPSS
VEX
Title
ESPAsyncWebServer: Integer overflow in multipart boundary parser causes denial of service
Summary
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.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-09-21 21:05 UTC
CWE
- CWE-190 - Integer Overflow or Wraparound
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/p… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/c… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/r… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
< 3.11.1
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-54571",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-21T21:05:35.710251Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-21T21:05:49.373Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c 3.11.1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-190",
"description": "CWE-190: Integer Overflow or Wraparound",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-17T18:28:26.977Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-4phx-fcj6-46r4"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/445",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/445"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/b928de7cbd7debcd6266ece6a6c46f10a86d3a6f",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/commit/b928de7cbd7debcd6266ece6a6c46f10a86d3a6f"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/releases/tag/v3.11.1"
}
],
"source": {
"advisory": "GHSA-4phx-fcj6-46r4",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer: Integer overflow in multipart boundary parser causes denial of service"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-54571",
"datePublished": "2026-09-17T18:28:26.977Z",
"dateReserved": "2026-06-15T19:15:27.343Z",
"dateUpdated": "2026-09-21T21:05:49.373Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2025-53094 (GCVE-0-2025-53094)
Vulnerability from cvelistv5 – Published: 2025-06-27 19:57 – Updated: 2025-06-27 20:19
VLAI
EPSS
VEX
Title
ESPAsyncWebServer Vulnerable to CRLF Injection in AsyncWebHeader.cpp
Summary
ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. In versions up to and including 3.7.8, a CRLF (Carriage Return Line Feed) injection vulnerability exists in the construction and output of HTTP headers within `AsyncWebHeader.cpp`. Unsanitized input allows attackers to inject CR (`\r`) or LF (`\n`) characters into header names or values, leading to arbitrary header or response manipulation. Manipulation of HTTP headers and responses can enable a wide range of attacks, making the severity of this vulnerability high. A fix is available at pull request 211 and is expected to be part of version 3.7.9.
Severity
SSVC
Exploitation: poc
Automatable: yes
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2025-06-27 20:18 UTC
CWE
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/ESP32Async/ESPAsyncWebServer/s… | x_refsource_CONFIRM |
| https://github.com/ESP32Async/ESPAsyncWebServer/p… | x_refsource_MISC |
| https://github.com/ESP32Async/ESPAsyncWebServer/b… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| ESP32Async | ESPAsyncWebServer |
Affected:
<= 3.7.8
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-53094",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-06-27T20:18:58.292035Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-06-27T20:19:14.457Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ESPAsyncWebServer",
"vendor": "ESP32Async",
"versions": [
{
"status": "affected",
"version": "\u003c= 3.7.8"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "ESPAsyncWebServer is an asynchronous HTTP and WebSocket server library for ESP32, ESP8266, RP2040 and RP2350. In versions up to and including 3.7.8, a CRLF (Carriage Return Line Feed) injection vulnerability exists in the construction and output of HTTP headers within `AsyncWebHeader.cpp`. Unsanitized input allows attackers to inject CR (`\\r`) or LF (`\\n`) characters into header names or values, leading to arbitrary header or response manipulation. Manipulation of HTTP headers and responses can enable a wide range of attacks, making the severity of this vulnerability high. A fix is available at pull request 211 and is expected to be part of version 3.7.9."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-93",
"description": "CWE-93: Improper Neutralization of CRLF Sequences (\u0027CRLF Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-113",
"description": "CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers (\u0027HTTP Request/Response Splitting\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-06-27T19:57:15.032Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-87j8-6f7g-h8wh",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/security/advisories/GHSA-87j8-6f7g-h8wh"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/211",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/pull/211"
},
{
"name": "https://github.com/ESP32Async/ESPAsyncWebServer/blob/1095dfd1ecf1a903aede29854232af1b24f089b1/src/AsyncWebHeader.cpp#L6-L32",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/ESP32Async/ESPAsyncWebServer/blob/1095dfd1ecf1a903aede29854232af1b24f089b1/src/AsyncWebHeader.cpp#L6-L32"
}
],
"source": {
"advisory": "GHSA-87j8-6f7g-h8wh",
"discovery": "UNKNOWN"
},
"title": "ESPAsyncWebServer Vulnerable to CRLF Injection in AsyncWebHeader.cpp"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2025-53094",
"datePublished": "2025-06-27T19:57:15.032Z",
"dateReserved": "2025-06-25T13:41:23.086Z",
"dateUpdated": "2025-06-27T20:19:14.457Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}