Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-29008

CVE-2026-29008: U-Boot Integer Underflow DoS Vulnerability

CVE-2026-29008 is an integer underflow denial-of-service vulnerability in U-Boot bootloader affecting versions through 2026.04-rc3. Attackers can crash the device by sending malformed TCP packets. This article covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-29008 Overview

CVE-2026-29008 is an integer underflow vulnerability [CWE-191] in Das U-Boot, an open-source bootloader used across embedded systems and IoT devices. The flaw resides in the tcp_rx_state_machine() function in net/tcp.c and affects U-Boot releases through 2026.04-rc3. A network-adjacent attacker can send a malformed TCP SYN+ACK packet with a manipulated data offset field, causing payload_len to become negative. The negative value is implicitly cast to a large unsigned integer and passed to memcpy(), crashing the bootloader during network boot operations.

Critical Impact

Remote attackers on the local network can prevent affected devices from booting and, when CONFIG_LMB is disabled, may trigger memory corruption in the bootloader execution context.

Affected Products

  • Das U-Boot bootloader releases through 2026.04-rc3
  • Embedded systems and IoT devices using U-Boot TCP networking during boot
  • Devices performing network boot operations (TFTP, HTTP boot) over TCP

Discovery Timeline

  • 2026-07-08 - CVE-2026-29008 published to NVD
  • 2026-07-09 - Last updated in NVD database

Technical Details for CVE-2026-29008

Vulnerability Analysis

The vulnerability exists in U-Boot's TCP receive state machine, specifically in how the TCP_SYN_SENT state handles incoming SYN+ACK packets. When U-Boot processes an inbound TCP segment, it calculates the payload length by subtracting header sizes derived from the TCP data offset field. An attacker who sets the data offset to a value larger than the actual packet length forces payload_len to become negative.

The TCP_SYN_SENT handler calls tcp_rx_user_data() without first invoking tcp_seg_in_wnd(), which normally validates that the segment falls within an acceptable window. This missing check allows the negative payload_len to reach downstream code paths unfiltered. When the value is passed to memcpy() inside store_block(), C's implicit signed-to-unsigned conversion turns a small negative value such as -40 into approximately 0xFFFFFFD8, requesting a copy of roughly four gigabytes.

Root Cause

The root cause is missing input validation combined with unsafe integer type handling. payload_len is treated as a signed integer during arithmetic but consumed as an unsigned size_t at the memcpy() boundary. Without sanity checks on the TCP data offset, an attacker fully controls the sign of the computed length.

Attack Vector

Exploitation requires network adjacency to a target device performing TCP-based network boot. The attacker sends a crafted TCP SYN+ACK packet during the connection establishment handshake with a data offset field set beyond the true segment length. No authentication or user interaction is required. See the VulnCheck U-Boot Advisory for additional technical context.

Detection Methods for CVE-2026-29008

Indicators of Compromise

  • Devices failing to complete network boot with crashes or resets shortly after issuing a TCP SYN during TFTP/HTTP boot.
  • Anomalous TCP SYN+ACK packets on the provisioning VLAN where the data offset field exceeds the actual segment size.
  • Repeated bootloader restarts on embedded targets during PXE or network provisioning windows.

Detection Strategies

  • Deploy network intrusion detection signatures that flag TCP segments where the data offset value implies a header larger than the on-wire packet length.
  • Monitor DHCP and TFTP servers for boot clients that repeatedly reinitiate boot sequences without completing image transfer.
  • Capture and analyze boot-time network traffic on provisioning segments for malformed TCP handshake responses.

Monitoring Recommendations

  • Restrict monitoring scope to network segments used for device provisioning, where U-Boot's TCP stack is active.
  • Log serial console output from embedded devices to correlate boot failures with suspicious network events.
  • Track firmware versions across the fleet to identify devices running U-Boot builds up to 2026.04-rc3.

How to Mitigate CVE-2026-29008

Immediate Actions Required

  • Isolate device provisioning networks from untrusted hosts and enforce Layer 2 segmentation on VLANs used for network boot.
  • Disable TCP-based network boot on affected devices where feasible, favoring signed local boot images until a patch is deployed.
  • Inventory embedded assets running U-Boot builds up to 2026.04-rc3 and prioritize remediation for devices exposed to shared networks.

Patch Information

A fix is being coordinated through the U-Boot upstream project. Track the U-Boot Mailing List Update for the corrective patch that adds tcp_seg_in_wnd() validation before tcp_rx_user_data() and enforces bounds checks on payload_len prior to memcpy(). Vendors of downstream embedded platforms should integrate the upstream fix and rebuild affected firmware images. Refer to the U-Boot Official Website for release information.

Workarounds

  • Enable CONFIG_LMB in the U-Boot build configuration to constrain memory operations and reduce the risk of memory corruption from the underflow.
  • Filter inbound TCP SYN+ACK packets on provisioning networks using upstream switches or firewalls with deep packet inspection for TCP header sanity.
  • Restrict boot-time TCP peers to a known list of provisioning servers via network access control lists on the boot VLAN.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.