CVE-2026-128091
Received Received - Intake

Memory Leak in MCUboot TinyCrypt Backend

Vulnerability report for CVE-2026-128091, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-13

Last updated on: 2026-11-13

Assigner: Zephyr Project

Description

When MCUboot is built with the TinyCrypt crypto backend (MCUBOOT_USE_TINYCRYPT), bootutil_aes_ctr_drop() in boot/bootutil/include/bootutil/crypto/aes_ctr_tinycrypt.h was an empty stub. The AES-CTR context for this backend is the fully expanded AES-128 key schedule (struct tc_aes_key_sched_struct). Generic code relies on this hook to release and clear key state, so with TinyCrypt nothing was cleared. The mbedTLS and PSA backends do free or destroy their key state here. As a result, boot_state_clear(), which boot_go() calls before handing off to the application, left the image's AES content-encryption key schedule in the static boot_data state. This is the case after an encrypted upgrade in single-image builds, where boot_enc_zeroize() is not called. boot_decrypt_key() likewise left the ECIES-derived key-encryption key schedule on the stack. The affected build uses MCUBOOT_ENC_IMAGES with TinyCrypt, which is the default ECDSA and Ed25519 backend in the Zephyr port. The first AES-128 round key equals the cipher key, so anyone who can read the leftover bootloader RAM after boot can recover the image content key and decrypt that encrypted image. That includes a physical attacker with debug or RAM access, or code later running on the device. This weakens image-encryption key confidentiality (and so the confidentiality of the encrypted image's plaintext). The device's long-term private decryption key is not exposed, and image authenticity is not affected. The fix wipes the context with bootutil_wipe_memory().

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-13
Last Modified
2026-11-13
Generated
2026-11-13
AI Q&A
2026-11-13
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
mcu-tools mcuboot From 1.3.0 (inc) to 2.5.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-226 The product releases a resource such as memory or a file so that it can be made available for reuse, but it does not clear or "zeroize" the information contained in the resource before the product performs a critical state transition or makes the resource available for reuse by other entities.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects MCUboot versions 1.3.0 to 2.4.0 when built with the TinyCrypt AES-CTR backend. The issue is that the AES key schedule is not cleared after use, leaving sensitive cryptographic material in memory. The bootutil_aes_ctr_drop() function in the TinyCrypt backend was an empty stub, failing to wipe the AES-128 key schedule stored in the boot_data static state. This occurs during encrypted image upgrades in single-image builds, where the key remains in memory after boot.

Detection Guidance

Check MCUboot version with `mcuboot --version` or inspect build flags for TinyCrypt backend. Look for uninitialized memory dumps or RAM analysis tools to detect leftover AES key schedules in boot_data static state.

Impact Analysis

An attacker with physical access or RAM read capabilities could recover the image content key and decrypt the encrypted image, compromising confidentiality. The device's long-term private decryption key is not exposed, and image authenticity is not affected.

Compliance Impact

This vulnerability could impact compliance with GDPR and HIPAA by potentially exposing sensitive data. If an attacker recovers the image content key from memory, they could decrypt encrypted images containing personal or health data, violating confidentiality requirements under these regulations.

Mitigation Strategies

Upgrade MCUboot to version 2.5.0 or later. If upgrading is not possible, apply the patch from commit d204aaa3ab40c0b37a52d3b4c433b437f9ad8374 to add bootutil_wipe_memory() calls.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-128091. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...