-Infinity
0

Vendor Risk Score

See how denx compares to other vendors in security performance

View Risk Score →

-----BEGIN SECURITY ADVISORY-----

Title: Multiple Integer Overflows in U-Boot Filesystem Handling Author: Timo Preißl <t.preissl () proton me> Date: 2026-02-11 CVEs: CVE-2025-70290, CVE-2025-70291, CVE-2025-70292, CVE-2025-70293 Affected: Denx U-Boot <= v2026.01-rc4 Fixed in: v2026.04-rc1 (commit adccdb2)

== Overview ==

Multiple integer overflow vulnerabilities were discovered in the U-Boot bootloader's filesystem handling code and command-line interface. These flaws can lead to heap memory under-allocation followed by heap-based buffer overflows, potentially allowing Arbitrary Code Execution (ACE) in the pre-boot environment.

== Vulnerability Details ==

--- CVE-2025-70290: ZFS Metadata Integer Overflow ---

Component: fs/zfs/zfs.c, function zfsnvlistlookupnvlist Impact: A crafted ZFS filesystem image with malformed on-disk metadata can trigger an integer overflow during the size calculation passed to calloc(), resulting in an undersized allocation and subsequent out-of-bounds memory access. Fix: Validation of allocation size using builtinaddoverflow.

--- CVE-2025-70291: Heap Buffer Overflow in domv Command ---

Component: fs/fs.c, function domv Impact: Missing length checks in the directory move command allow an integer overflow during string length addition. An attacker with U-Boot shell access can trigger an under-allocation, resulting in a heap buffer overflow via strcpy(). Fix: Safe addition of string lengths using compiler intrinsics.

--- CVE-2025-70292: SquashFS Integer Overflow ---

Component: fs/squashfs/sqfs.c, function sqfsconcattokens Impact: Manipulated token lists trigger an overflow in sqfsgettokenslength(), causing heap under-allocation subsequently overflown by strcpy(). Fix: Validation of total token length before allocation.

--- CVE-2025-70293: EXT4 Block Group Descriptor Table Integer Overflow ---

Component: fs/ext4/ext4write.c, function ext4fsgetbgdtable Impact: An integer overflow in the block group descriptor table size calculation results in an undersized buffer being passed to memcpy(), causing memory corruption. Fix: Guarded multiplication of block group count and descriptor size.

== Patch ==

All issues are fixed in the U-Boot master branch.

Commit: adccdb2f605a6e8e046712398712398123 "fix integer overflows in filesystem code"

https://source.denx.de/u-boot/u-boot/-/commit/adccdb2

== Timeline ==

Patch series submitted to upstream mailing list: https://lore.kernel.org/u-boot/20251231100831.119142-1-t.preissl () proton me/T/

Fix merged: v2026.04-rc1 -----END SECURITY ADVISORY-----

Severity
9.8
Integer Overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

An issue was discovered in Denx U-Boot before 2026.04. An integer overflow vulnerability in the ZFS filesystem support can be triggered by malformed on-disk metadata. The issue may result in incorrect memory allocation followed by out-of-bounds memory access, potentially leading to a crash or arbitrary code execution during the boot process.

First published (updated )
Severity
8.8
Buffer Overflow
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H

U-Boot before 2026.07-rc2 contains a buffer overflow vulnerability in nfsreadlinkreply() (net/nfs-common.c) when CONFIGCMDNFS is enabled, allowing a malicious or compromised NFS server to overflow the 2048-byte nfspathbuff buffer by returning multiple relative symlink targets that are appended without cumulative length validation. Attackers can send two or more READLINK responses containing relative symlink targets of approximately 1100 bytes each to corrupt adjacent BSS variables including nfsserverip, nfsservermountport, nfsserverport, nfsourport, nfsstate, and rpcid, potentially achieving memory corruption and control over the NFS client state machine.

First published (updated )
Severity
8.7
Integer Underflow
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

U-Boot through 2026.04-rc3 contains an integer underflow vulnerability in the tcprxstatemachine() function (net/tcp.c) that allows a network-adjacent attacker to crash the bootloader by sending a malformed TCP SYN+ACK packet with a manipulated data offset field causing payloadlen to become negative. When the TCPSYNSENT handler calls tcprxuserdata() without invoking tcpseginwnd() validation, the negative payloadlen is implicitly converted to a large unsigned integer (e.g., 0xFFFFFFD8) and passed to memcpy() in storeblock(), causing an immediate crash that prevents device boot and may enable memory corruption when CONFIGLMB is disabled.

First published (updated )
Severity
6.9
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

U-Boot through 2026.04-rc3 contains an out-of-bounds read vulnerability in tcprxstatemachine() (net/tcp.c) when CONFIGPROTTCP is enabled, allowing remote attackers to read beyond TCP segment boundaries by crafting a malicious packet with a mismatched IP total length and TCP data offset field. Attackers can send a packet with an IP total length of 40 bytes and a TCP data offset claiming 60 bytes of header to cause tcpparseoptions() to read 40 bytes past the end of the TCP segment, potentially corrupting connection state variables such as rmtwinscale and rmttimestamp to disrupt TCP window calculations.

First published (updated )
Severity
8.8
AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Das U-Boot before 2026.04 allows FIT (Flat Image Tree) signature verification bypass because hashed-nodes is omitted from a hash.

First published (updated )
Severity
8.3
EPSS
0.01%
AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

barebox is a bootloader. In barebox from version 2016.03.0 to before version 2026.03.1 (and the corresponding backport to 2025.09.3), an attacker could exploit a FIT signature verification vulnerability to trick the bootloader into booting different images than those that were verified as part of a signed configuration. mkimage(1) sets the hashed-nodes property of the FIT signature node to list which nodes of the FIT were hashed as part of the signing process as these will need to be verified later on by the bootloader. However, hashed-nodes itself is not part of the hash and could therefore be modified to allow booting different images than those that have been verified. This issue has been patched in barebox versions 2026.03.1 and backported to 2025.09.3.

First published (updated )
Severity
8.4
AC:L/AV:P/A:H/C:H/I:H/PR:N/S:C/UI:N

Improper access control for volatile memory containing boot code in Universal Boot Loader (U-Boot) before 2017.11 and Qualcomm chips IPQ4019, IPQ5018, IPQ5322, IPQ6018, IPQ8064, IPQ8074, and IPQ9574 could allow an attacker to execute arbitrary code.

First published (updated )
Severity
6.5
Command Injection
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

A lack of signature verification in the bootloader of DENX Software Engineering Das U-Boot (U-Boot) v1.1.3 allows attackers to install crafted firmware files, leading to arbitrary code execution.

First published (updated )
Severity
7.1
Integer Overflow
AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

An integer overflow in sqfsinodesize in Das U-Boot before 2025.01-rc1 occurs in the symlink size calculation via a crafted squashfs filesystem.

First published (updated )
Severity
7.1
Integer Overflow
AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

An integer overflow in sqfsresolvesymlink in Das U-Boot before 2025.01-rc1 occurs via a crafted squashfs filesystem with an inode size of 0xffffffff, resulting in a malloc of zero and resultant memory overwrite.

First published (updated )
Severity
7.1
Integer Overflow
AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

An integer overflow in ext4fsreadsymlink in Das U-Boot before 2025.01-rc1 occurs for zalloc (adding one to an le32 variable) via a crafted ext4 filesystem with an inode size of 0xffffffff, resulting in a malloc of zero and resultant memory overwrite.

First published (updated )
Severity
7.8
Integer Overflow
AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

Integer overflows in memory allocation in Das U-Boot before 2025.01-rc1 occur for a crafted squashfs filesystem via sbrk, via request2size, or because ptrdifft is mishandled on x8664.

First published (updated )
Severity
2.4
AV:P/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

A stack consumption issue in sqfssize in Das U-Boot before 2025.01-rc1 occurs via a crafted squashfs filesystem with deep symlink nesting.

First published (updated )
Severity
7.1
AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

sqfssearchdir in Das U-Boot before 2025.01-rc1 exhibits an off-by-one error and resultant heap memory corruption for squashfs directory listing because the path separator is not considered in a size calculation.

First published (updated )

Summary

- Identifier: sigma-star-sa-2024-002 - Vendor: - - Product/Software: U-Boot - Affected versions: <= 2024.10 - Fixed versions: v2025.01-rc1 - CVE IDs: CVE-2024-57254, CVE-2024-57255, CVE-2024-57256, CVE-2024-57257, CVE-2024-57258, CVE-2024-57259

Affected Product and Vendor U-Boot, a boot loader for Embedded boards based on PowerPC, ARM, MIPS and several other processors, which can be installed in a boot ROM and used to initialize and test the hardware or to download and run application code. Source: https://source.denx.de/u-boot/u-boot/-/blob/master/README

Description

Multuple vulnerabilities have been found in U-Boot:

- CVE-2024-57254: Integer overflow in U-Boot’s SquashFS symlink size calculation function - CVE-2024-57255: Integer overflow in U-Boot’s SquashFS symlink resolution function - CVE-2024-57256: Integer overflow in U-Boot’s ext4 symlink resolution function - CVE-2024-57257: Stack overflow in U-Boot’s SquashFS symlink resolution function - CVE-2024-57258: Multiple integer overflows in U-Boot’s memory allocator - CVE-2024-57259: Heap corruption in U-Boot’s SquashFS directory listing function

Impact

An attacker capable of modifying ext4 or SquashFS filesystem data structures can exploit multiple memory corruption vulnerabilities in U-Boot. For systems that rely on verified boot, these vulnerabilities allow an attacker to bypass the chain of trust and achieve code execution by exploiting these issues. CVE-2024-57258 may also be exploited in U-Boot through other subsystems than ext4 or SquashFS.

Mitigation

Upgrade to version v2025.01-rc1 or newer.

Patches

- https://source.denx.de/u-boot/u-boot/-/commit/c8e929e5758999933f9e905049ef2bf3fe6b140d - https://source.denx.de/u-boot/u-boot/-/commit/233945eba63e24061dffeeaeb7cd6fe985278356 - https://source.denx.de/u-boot/u-boot/-/commit/35f75d2a46e5859138c83a75cd2f4141c5479ab9 - https://source.denx.de/u-boot/u-boot/-/commit/4f5cc096bfd0a591f8a11e86999e3d90a9484c34 - https://source.denx.de/u-boot/u-boot/-/commit/0a10b49206a29b4aa2f80233a3e53ca0466bb0b3 - https://source.denx.de/u-boot/u-boot/-/commit/8642b2178d2c4002c99a0b69a845a48f2ae2706f - https://source.denx.de/u-boot/u-boot/-/commit/c17b2a05dd50a3ba437e6373093a0d6a359cdee0 - https://source.denx.de/u-boot/u-boot/-/commit/048d795bb5b3d9c5701b4855f5e74bcf6849bf5e

Credits

- Richard Weinberger (sigma star gmbh - David Gstir (sigma star gmbh

-- ​​​​​sigma star gmbh | Eduard-Bodem-Gasse 6, 6020 Innsbruck, AUT UID/VAT Nr: ATU 66964118 | FN: 374287y

Severity
8.1
Buffer Overflow
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Buffer Overflow vulnerability in the net/bootp.c in DENEX U-Boot from its initial commit in 2002 (3861aa5) up to today on any platform allows an attacker on the local network to leak memory from four up to 32 bytes of memory stored behind the packet to the network depending on the later use of DHCP-provided parameters via crafted DHCP responses.

First published (updated )
Severity
7.8
Buffer Overflow
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

squashfs filesystem implementation of U-Boot versions from v2020.10-rc2 to v2022.07-rc5 contains a heap-based buffer overflow vulnerability due to a defect in the metadata reading process. Loading a specially crafted squashfs image may lead to a denial-of-service (DoS) condition or arbitrary code execution.

1 / 2
Source: Ubuntu
First published (updated )
Severity
7.7
CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

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.

1 / 2
Source: Ubuntu
First published (updated )
Severity
7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Das U-Boot from v2020.10 to v2022.07-rc3 was discovered to contain an out-of-bounds write via the function sqfsreaddir().

1 / 2
Source: Ubuntu
First published (updated )
Severity
9.8
Buffer Overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In Das U-Boot through 2022.07-rc5, an integer signedness error and resultant stack-based buffer overflow in the "i2c md" command enables the corruption of the return address pointer of the doi2cmd function.

1 / 6
Source: Launchpad
First published (updated )
Severity
7.8
Buffer Overflow
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Das U-Boot 2022.01 has a Buffer Overflow, a different issue than CVE-2022-30552.

1 / 2
Source: Ubuntu
First published (updated )
Severity
5.5
Buffer Overflow
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Das U-Boot 2022.01 has a Buffer Overflow.

1 / 5
Source: Launchpad
First published (updated )
Severity
9.8
Buffer Overflow
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

nfslookupreply in net/nfs.c in Das U-Boot through 2022.04 (and through 2022.07-rc2) has an unbounded memcpy with a failed length check, leading to a buffer overflow. NOTE: this issue exists because of an incorrect fix for CVE-2019-14196.

1 / 2
Source: Ubuntu
First published (updated )
Severity
7.8
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

The boot loader in Das U-Boot before 2021.04-rc2 mishandles use of unit addresses in a FIT.

First published (updated )
Severity
7.8
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

The boot loader in Das U-Boot before 2021.04-rc2 mishandles a modified FIT.

First published (updated )
Severity
7.8
Input Validation
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Das U-Boot through 2020.01 allows attackers to bypass verified boot restrictions and subsequently boot arbitrary images by providing a crafted FIT image to a system configured to boot the default configuration.

First published (updated )
Severity
9.8
Double Free
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In Das U-Boot through 2020.01, a double free has been found in the cmd/gpt.c dorenamegptparts() function. Double freeing may result in a write-what-where condition, allowing an attacker to execute arbitrary code. NOTE: this vulnerablity was introduced when attempting to fix a memory leak identified by static analysis.

First published (updated )
Severity
7.8
Buffer Overflow
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Das U-Boot versions 2016.09 through 2019.07-rc4 can memset() too much data while reading a crafted ext4 filesystem, which results in a stack buffer overflow and likely code execution.

First published (updated )
Severity
7.8
Double Free
CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Das U-Boot versions 2019.07-rc1 through 2019.07-rc4 can double-free a cached block of data when listing files in a crafted ext4 filesystem.

First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203