{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-45329: ESF-IDF: Out-of-Bounds Read in ESP-TEE Secure Service Wrappers","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-45329","status":"final","version":"1","initial_release_date":"2026-06-10T00:34:09.433Z","current_release_date":"2026-06-10T16:32:10.055Z","revision_history":[{"date":"2026-06-10T00:34:09.433Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. In versions 5.5.4 and 6.0, several ESP-TEE secure-service wrappers in esp_secure_services.c and esp_secure_services_iram.c validated only some of the caller-supplied pointer arguments, leaving input pointer arguments unchecked. Because the underlying TEE-protected hardware peripherals (e.g., ECC, SHA, SPI) run in RISC-V machine mode (M-mode) with full address-space access, a caller could supply pointers into TEE-exclusive memory as inputs, causing the peripheral to read TEE memory and return results derived from it to the REE. Depending on the wrapper, the result contains raw bytes from TEE memory, a computed function of TEE memory recoverable through repeated calls, or a single bit per call that forms an oracle for incremental disclosure of TEE-resident sensitive data. This issue has been patched in versions 5.5.5 and 6.0.1.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-45329 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-45329"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-45329"},{"category":"external","summary":"https://github.com/espressif/esp-idf/security/advisories/GHSA-w82j-7q63-7pqm","url":"https://github.com/espressif/esp-idf/security/advisories/GHSA-w82j-7q63-7pqm"},{"category":"external","summary":"https://github.com/espressif/esp-idf/commit/145ba4c42dc8283054cfde9a1c3470db7399192f","url":"https://github.com/espressif/esp-idf/commit/145ba4c42dc8283054cfde9a1c3470db7399192f"},{"category":"external","summary":"https://github.com/espressif/esp-idf/commit/7867f4a57560bf9fc4a931e37ba02b7a3e9f406b","url":"https://github.com/espressif/esp-idf/commit/7867f4a57560bf9fc4a931e37ba02b7a3e9f406b"},{"category":"external","summary":"https://github.com/espressif/esp-idf/commit/eebabaff2fdc273b1530fe66e55fb3bcd181dfd6","url":"https://github.com/espressif/esp-idf/commit/eebabaff2fdc273b1530fe66e55fb3bcd181dfd6"}]},"product_tree":{"branches":[{"category":"vendor","name":"espressif","branches":[{"category":"product_name","name":"esp-idf","branches":[{"category":"product_version","name":"= 6.0","product":{"name":"espressif esp-idf = 6.0","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:espressif:esp-idf:*:*:*:*:*:*:*:*"}}},{"category":"product_version","name":"= 5.5.4","product":{"name":"espressif esp-idf = 5.5.4","product_id":"CSAFPID-2","product_identification_helper":{"cpe":"cpe:2.3:a:espressif:esp-idf:*:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-45329","title":"ESF-IDF: Out-of-Bounds Read in ESP-TEE Secure Service Wrappers","notes":[{"category":"description","text":"ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. In versions 5.5.4 and 6.0, several ESP-TEE secure-service wrappers in esp_secure_services.c and esp_secure_services_iram.c validated only some of the caller-supplied pointer arguments, leaving input pointer arguments unchecked. Because the underlying TEE-protected hardware peripherals (e.g., ECC, SHA, SPI) run in RISC-V machine mode (M-mode) with full address-space access, a caller could supply pointers into TEE-exclusive memory as inputs, causing the peripheral to read TEE memory and return results derived from it to the REE. Depending on the wrapper, the result contains raw bytes from TEE memory, a computed function of TEE memory recoverable through repeated calls, or a single bit per call that forms an oracle for incremental disclosure of TEE-resident sensitive data. This issue has been patched in versions 5.5.5 and 6.0.1.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1","CSAFPID-2"]},"scores":[{"cvss_v3":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N","baseScore":7.1,"baseSeverity":"HIGH"},"products":["CSAFPID-1","CSAFPID-2"]}],"remediations":[{"category":"none_available","details":"No fixed version is published yet. Monitor the upstream advisory.","product_ids":["CSAFPID-1","CSAFPID-2"]}]}]}