CVE-2026-29009 Overview
CVE-2026-29009 is a buffer overflow vulnerability in Das U-Boot through version 2026.04-rc3. The flaw resides in the nfs_readlink_reply() function within net/nfs-common.c and is exposed when CONFIG_CMD_NFS is enabled. A malicious or compromised Network File System (NFS) server can overflow the 2048-byte nfs_path_buff buffer by returning multiple relative symlink targets that are appended without cumulative length validation. Successful exploitation corrupts adjacent BSS variables governing NFS client state, enabling memory corruption and control over the NFS state machine [CWE-120].
Critical Impact
A hostile NFS server can corrupt U-Boot memory during boot, threatening the integrity of embedded devices and the boot chain.
Affected Products
- Das U-Boot bootloader versions through 2026.04-rc3
- Builds with CONFIG_CMD_NFS enabled
- Embedded devices and systems that use U-Boot's NFS client for network boot
Discovery Timeline
- 2026-07-08 - CVE-2026-29009 published to the National Vulnerability Database (NVD)
- 2026-07-08 - Last updated in NVD database
Technical Details for CVE-2026-29009
Vulnerability Analysis
The vulnerability exists in U-Boot's NFS client symlink handling. When U-Boot follows a symlink over NFS, the nfs_readlink_reply() function in net/nfs-common.c processes READLINK RPC responses and copies symlink target data into the static nfs_path_buff buffer, which is 2048 bytes in size. For relative symlinks, the client appends the returned target to existing path data. The function fails to validate the cumulative length across multiple append operations.
An attacker who controls or impersonates the NFS server can respond with two or more READLINK replies containing relative symlink targets of roughly 1100 bytes each. The second append writes past the end of nfs_path_buff and corrupts adjacent BSS variables including nfs_server_ip, nfs_server_mount_port, nfs_server_port, nfs_our_port, nfs_state, and rpc_id. This gives the attacker influence over the NFS client state machine and networking parameters during boot.
Root Cause
The root cause is missing cumulative bounds checking in nfs_readlink_reply(). Each individual symlink target may fit inside nfs_path_buff, but the function does not track total bytes written across successive replies. This classic unchecked buffer append pattern maps to CWE-120 (Buffer Copy without Checking Size of Input).
Attack Vector
The vulnerability is reachable over the network during NFS boot operations. An attacker positioned to serve NFS traffic, whether through a compromised server, on-path attack, or DHCP redirection to a rogue server, can trigger the overflow. Exploitation requires no authentication and no user interaction on the affected device. The impact centers on integrity of the boot process and availability of the device, with potential extension to code influence through corrupted state variables.
Because no verified public exploit code has been released, the mechanism is described in prose only. See the VulnCheck U-Boot Advisory for the technical breakdown.
Detection Methods for CVE-2026-29009
Indicators of Compromise
- Unexpected NFS READLINK responses containing symlink targets larger than a few hundred bytes, particularly near or above 1024 bytes.
- Multiple consecutive READLINK replies to the same U-Boot client during a single boot session.
- Devices booting from unexpected NFS servers or exhibiting altered NFS server IP, mount port, or RPC identifiers mid-boot.
Detection Strategies
- Inspect NFS traffic at the network layer for oversized symlink payloads and chained READLINK responses targeting embedded clients.
- Compare deployed U-Boot builds against version 2026.04-rc3 and inventory devices that ship with CONFIG_CMD_NFS enabled.
- Review boot logs and serial console output from embedded devices for NFS state machine anomalies or unexpected boot failures.
Monitoring Recommendations
- Alert on NFS traffic originating from non-approved servers on management or provisioning VLANs used for network boot.
- Baseline the size and count of READLINK responses during PXE/NFS boot workflows and flag deviations.
- Track firmware and bootloader versions across the fleet using asset management to identify unpatched U-Boot deployments.
How to Mitigate CVE-2026-29009
Immediate Actions Required
- Identify all devices running U-Boot builds up to 2026.04-rc3 with CONFIG_CMD_NFS compiled in.
- Restrict NFS boot to isolated, trusted network segments and remove exposure to untrusted networks.
- Where feasible, disable NFS boot until a patched U-Boot build can be deployed.
Patch Information
Coordination and fixes are being handled through the U-Boot upstream project. Monitor the U-Boot Mailing List Update for patch commits addressing nfs_readlink_reply() and rebuild affected firmware images once fixes land. Refer to the U-Boot Official Website for release announcements.
Workarounds
- Rebuild U-Boot with CONFIG_CMD_NFS disabled if NFS boot is not required.
- Use signed images and verified boot mechanisms so that corrupted NFS payloads cannot influence subsequent boot stages.
- Enforce static ARP and DHCP snooping on provisioning networks to prevent rogue NFS server insertion.
# Configuration example: disable NFS command support in U-Boot defconfig
# Remove or comment out the following line in your board defconfig
# CONFIG_CMD_NFS=y
# Then rebuild U-Boot
make distclean
make <board>_defconfig
make -j$(nproc)
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

