U-Boot TFTP packet parser reads past short datagrams

Lee, Brian J hibrian827 at gatech.edu
Wed May 27 18:12:08 CEST 2026


Hello U-Boot Security Team,

My name is Brian Lee, and I am a PhD Security Researcher in SSLab at Georgia Tech. I'd like to privately report a potential denial-of-service issue due to Out-of-bounds read in packer parser in TFTP. This pattern is identified in both ACK packet and ERROR packet parser, and a malicious attacker can craft a packet with missing blocks, leading to python error and potentially DoS.

Target:

  *
Project: u-boot
  *
Repo: https://github.com/u-boot/u-boot
  *
Pinned ref: 215496fec59b3fa09256b4fb62f92af46e2ec7f9

Threat model:

The TFTP handler's only pre-dispatch length check is len < 2, which is sufficient to read the opcode but doesn't validate that opcode-specific fields are present. Two opcodes have unvalidated reads after that gate: ACK (reads 2 bytes for the block number, reachable during TFTPPUT) and ERROR (reads a 2-byte error code and walks a NUL-terminated string from the payload, reachable during any TFTP operation). A 2-byte UDP datagram from any peer that can reach the TFTP client port during a transfer triggers the bug.

Attached:
PoC for each of the two paths. Both have the same format

  *
README.md : full writeup.
  *
poc/run.sh :   script for reproduction
  *
poc/inputs: the relevant files for running poc

I would like to get help from your expertise to clarify whether this is a valid security threat or not. Thank you.

Best Regards,
Brian Lee

-------------- next part --------------
A non-text attachment was scrubbed...
Name: poc.zip
Type: application/x-zip-compressed
Size: 44456 bytes
Desc: poc.zip
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20260527/7ca6cbff/attachment-0001.bin>


More information about the U-Boot mailing list