Improper Validation of Integrity Check Value
CVE-2024-32883
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.
References
Advisory Timeline
- Published