CVE-2026-127928
Received Received - Intake

MCUboot Bootloader Stack Key Leakage Vulnerability

Vulnerability report for CVE-2026-127928, 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

In MCUboot's serial-recovery encrypted-image support (boot/boot_serial/src/boot_serial_encryption.c), decrypt_image_inplace() and boot_image_validate_encrypted() each keep a stack-local struct boot_status. boot_enc_load() writes the plaintext per-image AES key into its enckey[] field. Neither function cleared this structure before returning. In addition, a decrypt failure inside the per-sector loop of decrypt_image_inplace() returned early and skipped the total_out: cleanup, which left the expanded AES key context (enc_data) on the stack as well. The error paths of boot_image_validate_encrypted() similarly skipped boot_enc_zeroize(). The affected code is built when encrypted images (MCUBOOT_ENC_IMAGES, Zephyr CONFIG_BOOT_ENCRYPT_IMAGE) are combined with serial recovery. It runs when an encrypted image is uploaded to the primary slot over the recovery protocol, and when the image list or state is queried while an encrypted image is in the secondary slot. After these functions return, the image's AES content key remains in dead stack memory. An attacker who can later read device RAM, for example through a debug port or retained RAM, can recover it. This weakens the confidentiality of image-encryption keys within the bootloader trust boundary. A recovered key exposes the plaintext of the encrypted firmware image it protects. The device's long-term private decryption key is not exposed. No remote or recovery-protocol channel that returns this memory is known, so exploitation requires a separate memory-read capability.

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.9.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 involves MCUboot's serial-recovery encrypted-image support, where plaintext AES image keys are left on the stack after decryption. Functions like decrypt_image_inplace() and boot_image_validate_encrypted() store keys in a stack-local struct but fail to clear them before returning. Error paths also skip cleanup, leaving expanded AES key contexts in memory. An attacker with RAM access could recover these keys, exposing encrypted firmware plaintext.

Detection Guidance

This vulnerability cannot be detected via network commands as it involves memory exposure on the device itself. Detection requires checking MCUboot version and configuration. Use commands like 'grep MCUBOOT_ENC_IMAGES .config' or 'strings mcuboot.bin | grep MCUBOOT_ENC_IMAGES' to verify if encrypted images with serial recovery are enabled. Inspect RAM for leftover AES keys using debug tools or memory dumps if physical access is available.

Impact Analysis

If an attacker gains access to device RAM (e.g., via debug port or retained RAM), they could recover the plaintext AES keys used for encrypted firmware images. This would allow them to decrypt the firmware, compromising its confidentiality. The device's long-term decryption key remains secure, but the recovered key exposes the firmware's plaintext.

Compliance Impact

This vulnerability may impact compliance with GDPR and HIPAA by potentially exposing sensitive firmware image data. If an attacker recovers the AES key from RAM, they could decrypt firmware images, which may contain personal or health data. This could violate confidentiality requirements under GDPR Article 32 and HIPAA Security Rule safeguards for protected health information.

Mitigation Strategies
  • Upgrade MCUboot to version 2.5.0 or later to apply the fix that clears sensitive key material from memory.
  • Disable encrypted images with serial recovery if not required by setting MCUBOOT_ENC_IMAGES=0 or CONFIG_BOOT_ENCRYPT_IMAGE=n in your build configuration.
  • Implement memory-clearing routines before application execution on ARM devices as a temporary workaround.
  • Restrict physical and debug port access to prevent unauthorized RAM inspection.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-127928. 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...