{"id":"CVE-2026-113780","kind":"vulnerability","aliases":["CVE-2026-113780"],"related":[],"title":"ESP-IDF TEE trap entry lets local app write into secure memory","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.","summary":"ESP-IDF's esp_tee trap entry saves a caller-controlled register frame through the non-secure stack pointer before validating it, on ESP32-C5, C6, C61 and H2 devices. A local unprivileged application can use this to write into TEE-exclusive memory, which can lead to code execution, denial of service or a crash.","severity":"critical","cvss":9.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["esp-idf","esp32-c5","esp32-c6","esp32-c61","esp32-h2","firmware","infrastructure","iot"],"not_affected_if":["esp-tee-disabled","other-chip"],"how_to_check":"- Check the ESP-IDF version in the project with `idf.py --version`, and confirm whether the project uses the `esp_tee` secure world.\n- Confirm the target chip is ESP32-C5, ESP32-C6, ESP32-C61 or ESP32-H2.\n- Affected range: `5.5.5` up to `5.5.6`, `6.0.4`, and `6.1.1`.","fix":"- ESP-IDF `5.5.6` (fixed in this version)\n- ESP-IDF `6.0.4` and `6.1.1` are scheduled to be fixed; the sources do not confirm release status for these.","status":"open","published_at":"2026-11-04T19:17:18+00:00","first_seen_at":"2026-11-04T19:28:47+00:00","triaged_at":"2026-11-04T19:30:02+00:00","updated_at":"2026-11-04T19:30:02+00:00","category":"infrastructure","confidence":0.8,"triage":{"at":"2026-11-04T19:30:02Z","model":"claude-haiku-5-5","output":{"fix":"- ESP-IDF `5.5.6` (fixed in this version)\n- ESP-IDF `6.0.4` and `6.1.1` are scheduled to be fixed; the sources do not confirm release status for these.","reach":"local","title":"ESP-IDF TEE trap entry lets local app write into secure memory","impact":"high","summary":"ESP-IDF's esp_tee trap entry saves a caller-controlled register frame through the non-secure stack pointer before validating it, on ESP32-C5, C6, C61 and H2 devices. A local unprivileged application can use this to write into TEE-exclusive memory, which can lead to code execution, denial of service or a crash.","audience":"developers","category":"infrastructure","nicknames":[],"who_cares":["esp-idf","esp32-c5","esp32-c6","esp32-c61","esp32-h2","iot","firmware"],"confidence":0.8,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker corrupts TEE memory, possibly executing code or crashing the device","analyst_note":"Confirm the exact fixed versions for 6.0.4 and 6.1.1 and whether the advisory's patches are released, from the vendor advisory and release notes linked in the sources.","how_to_check":"- Check the ESP-IDF version in the project with `idf.py --version`, and confirm whether the project uses the `esp_tee` secure world.\n- Confirm the target chip is ESP32-C5, ESP32-C6, ESP32-C61 or ESP32-H2.\n- Affected range: `5.5.5` up to `5.5.6`, `6.0.4`, and `6.1.1`.","plain_action":"","needs_analyst":true,"not_affected_if":["other-chip","esp-tee-disabled"],"who_is_affected":"Teams building firmware with ESP-IDF on ESP32-C5, ESP32-C6, ESP32-C61 or ESP32-H2 chips that use the esp_tee trusted execution environment. The risk comes from unprivileged code running on the non-secure side of the device. Devices on other chips or without esp_tee enabled are not described as affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000834,"input_tokens":4436,"output_tokens":780,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-113780':16A,19A '-2026':15A,18A '5.5.5':111C '5.5.6':113C,230C '6.0.4':114C,239C '6.1.1':116C,241C 'app':9A 'applic':75B,161C 'boundari':193C 'break':189C 'c5':25B,66B,177C 'c6':28B,67B,180C 'c61':31B,68B,183C 'caller':49B,135C 'caller-control':48B,134C 'clic.s':131C 'code':90B,203C 'contain':220C 'control':50B,136C,199C 'control-flow':198C 'corrupt':196C 'crash':97B,210C 'cve':14A,17A 'data':201C 'denial':92B,205C 'develop':108C 'devic':71B,188C 'direct':163C 'ecal':215C 'entri':6A,45B,121C,218C 'esf':99C 'esf-idf':98C 'esp':2A,21B,39B,42B,118C,123C,128C 'esp-idf':1A,20B,38B 'esp32':24B,27B,30B,33B,65B,176C,179C,182C,186C 'esp32-c5':23B,64B,175C 'esp32-c6':26B,178C 'esp32-c61':29B,181C 'esp32-h2':32B,185C 'espressif':103C 'exclus':84B,172C 'execut':91B,204C 'firmwar':35B 'fix':227C,236C 'flow':200C 'frame':52B,138C 'framework':109C 'h2':34B,70B,187C 'idf':3A,22B,40B,100C 'infrastructur':36B 'internet':104C 'interrupt':217C 'iot':37B,107C 'isol':192C 'issu':225C 'lead':88B 'let':7A 'local':8A,73B,158C 'machin':166C 'machine-mod':165C 'memori':13A,85B,173C 'mode':167C 'non':56B 'non-secur':55B 'order':223C 'path':219C 'plic.s':126C 'pointer':59B,145C,156C 'potenti':195C 'ree':142C,160C 'ree-suppli':141C 'ree/tee':191C 'regist':51B,137C 'save':46B,132C 'schedul':233C 'secur':12A,57B,213C 'secure-servic':212C 'servic':94B,207C,214C 'stack':58B,144C,152C 'suppli':143C 'switch':147C 'system':209C 'tee':4A,43B,83B,119C,124C,129C,151C,171C,197C 'tee-exclus':82B,170C 'thing':106C 'trap':5A,44B,120C 'trust':150C 'unprivileg':74B,159C 'use':77B 'valid':61B,154C 'vector':125C,130C 'version':229C,238C 'vulner':222C 'write':10A,80B,168C","nicknames":[],"mitigations":[],"who_affected":"Teams building firmware with ESP-IDF on ESP32-C5, ESP32-C6, ESP32-C61 or ESP32-H2 chips that use the esp_tee trusted execution environment. The risk comes from unprivileged code running on the non-secure side of the device. Devices on other chips or without esp_tee enabled are not described as affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["critical","esp32c5","esp32c6","esp32c61","esp32h2","espidf","firmware","infrastructure","iot"],"campaign_type":null,"first_public_at":"2026-10-27T10:28:52+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-113780","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113780","severity":null,"published_at":"2026-11-04T19:17:18+00:00","modified_at":"2026-11-04T19:17:18+00:00","first_seen_at":"2026-11-04T19:28:47+00:00","fetched_at":"2026-11-04T19:28:47+00:00","note":null}],"documents":[{"id":69725,"url":"https://github.com/espressif/esp-idf/commit/773761abb893d43d0a5b8b75ec0a1c2cf0287d53","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":69726,"url":"https://github.com/espressif/esp-idf/commit/acb7d996b07293abf591b93f4aaffa04ae6732d9","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":69727,"url":"https://github.com/espressif/esp-idf/commit/b85a7b0e1449ac9aec30a0c3e3b6515725556fd1","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":69728,"url":"https://github.com/espressif/esp-idf/commit/dabd37fae8d2a7b1cc71f48fce824b0b9d909a07","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":69729,"url":"https://github.com/espressif/esp-idf/releases/tag/v5.5.6","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":69730,"url":"https://github.com/espressif/esp-idf/security/advisories/GHSA-49x8-xqjg-2pjg","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-27T10:28:52+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}