CVE-2025-52471

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-52471
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-52471.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-52471
Aliases
  • GHSA-hqhh-cp47-fv5g
Published
2025-06-24T20:15:26Z
Modified
2025-06-27T11:13:56.313326Z
Summary
[none]
Details

ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. An integer underflow vulnerability has been identified in the ESP-NOW protocol implementation within the ESP Wi-Fi component of versions 5.4.1, 5.3.3, 5.2.5, and 5.1.6 of the ESP-IDF framework. This issue stems from insufficient validation of user-supplied data length in the packet receive function. Under certain conditions, this may lead to out-of-bounds memory access and may allow arbitrary memory write operations. On systems without a memory protection scheme, this behavior could potentially be used to achieve remote code execution (RCE) on the target device. In versions 5.4.2, 5.3.4, 5.2.6, and 5.1.6, ESP-NOW has added more comprehensive validation logic on user-supplied data length during packet reception to prevent integer underflow caused by negative value calculations. For ESP-IDF v5.3 and earlier, a workaround can be applied by validating that the data_len parameter received in the RX callback (registered via esp_now_register_recv_cb()) is a positive value before further processing. For ESP-IDF v5.4 and later, no application-level workaround is available. Users are advised to upgrade to a patched version of ESP-IDF to take advantage of the built-in mitigation.

References

Affected packages

Git / github.com/espressif/esp-idf

Affected ranges

Type
GIT
Repo
https://github.com/espressif/esp-idf
Events

Affected versions

v0.*

v0.9

v1.*

v1.0

v2.*

v2.0-rc1
v2.1-rc1

v3.*

v3.0-dev
v3.1-beta1
v3.1-dev
v3.2-beta1
v3.2-dev
v3.3-beta1
v3.3-beta2
v3.3-dev

v4.*

v4.0-dev
v4.1-dev
v4.2-dev
v4.3-beta1
v4.3-dev
v4.4-dev

v5.*

v5.0-beta1
v5.0-dev
v5.1
v5.1-beta1
v5.1-dev
v5.1-rc1
v5.1-rc2
v5.1.1
v5.1.2
v5.1.3
v5.1.4
v5.1.5
v5.1.6
v5.2
v5.2-beta1
v5.2-beta2
v5.2-dev
v5.2-rc1
v5.2.1
v5.2.2
v5.2.3
v5.2.4
v5.2.5
v5.3
v5.3-beta1
v5.3-beta2
v5.3-dev
v5.3-rc1
v5.3.1
v5.3.2
v5.3.3
v5.4
v5.4-beta1
v5.4-beta2
v5.4-dev
v5.4-rc1
v5.4.1
v5.5-dev

v6.*

v6.0-dev