There exists an unchecked length field in UBoot. The U-Boot DFU implementation does not bound the length field in USB DFU download setup packets, and it does not verify that the transfer direction corresponds to the specified command. Consequently, if a physical attacker crafts a USB DFU download setup packet with a wLength
greater than 4096 bytes, they can write beyond the heap-allocated request buffer.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
Name | Vendor | Start Version | End Version |
---|---|---|---|
U-boot | Denx | 2012.10 (including) | 2022.07 (including) |
U-boot | Ubuntu | bionic | * |
U-boot | Ubuntu | devel | * |
U-boot | Ubuntu | focal | * |
U-boot | Ubuntu | impish | * |
U-boot | Ubuntu | jammy | * |
U-boot | Ubuntu | kinetic | * |
U-boot | Ubuntu | lunar | * |
U-boot | Ubuntu | mantic | * |
U-boot | Ubuntu | noble | * |
U-boot | Ubuntu | oracular | * |
U-boot-nezha | Ubuntu | devel | * |
U-boot-nezha | Ubuntu | esm-apps/noble | * |
U-boot-nezha | Ubuntu | jammy | * |
U-boot-nezha | Ubuntu | kinetic | * |
U-boot-nezha | Ubuntu | lunar | * |
U-boot-nezha | Ubuntu | mantic | * |
U-boot-nezha | Ubuntu | noble | * |
U-boot-nezha | Ubuntu | oracular | * |
U-boot-nezha | Ubuntu | trusty | * |
U-boot-nezha | Ubuntu | xenial | * |