Skip to main content

Improper Validation of Integrity Check Value

CVE-2024-32883

Severity High
Score 7.7/10

Summary

MCUboot is a secure bootloader for 32-bits microcontrollers. MCUboot uses a TLV (tag-length-value) structure to represent the metadata associated with an image. The TLVs themselves are divided into two sections, a protected and an unprotected section. The protected TLV entries are included in the image signature to avoid tampering. However, the code does not distinguish which TLV entries should be protected, so an attacker can add unprotected TLV entries that should be protected. The primary protected TLV entries should be the dependency indication and the boot record. An injected dependency value would primarily result in an otherwise acceptable image being rejected. A boot record injection could allow fields in a later attestation record to include data not intended, which could cause an image to appear to have properties that it should not have. As a workaround, disable the boot record functionality. This issue affects github.com/mcu-tools/mcuboot versions prior to 2.1.0-rc1.

  • HIGH
  • LOCAL
  • HIGH
  • CHANGED
  • NONE
  • LOW
  • LOW
  • HIGH

CWE-354 - Improper Validation of Integrity Check Value

The software does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.

Advisory Timeline

  • Published