Safeguard
Security Guides•

What is a mix-and-match attack on a signed U-Boot FIT image?

Signing only images lets an attacker pair signed kernels and device trees in a new set. Signed FIT configurations close that gap. Rollback is separate.

Safeguard Security Team
3 min read

A mix-and-match attack combines individually signed images, such as a kernel and a device tree, into a configuration the vendor never intended. U-Boot's answer is to sign the configuration, which covers every image it references and the root structure. Rollback to an older signed image needs a separate defense.

What goes wrong when only images are signed

The U-Boot documentation explains that FIT images carry hashes, but hashes only detect corruption. A signature ties the hash to a private key. If you sign each image but not the way they are combined, an attacker with write access to the FIT can add a new configuration that pairs a signed kernel with a signed device tree or ramdisk from somewhere else. Every image verifies, yet the system as a whole is not what you tested.

What a signed configuration covers

With signed configurations, images carry plain hashes and each configuration gets a signature over:

  • the configuration node,
  • every image it references and that image's hash subnodes,
  • the root structure, so nodes cannot be added or removed.

U-Boot rebuilds the list of nodes from the configuration's own references rather than trusting the hashed-nodes property, since that property is not covered by the signature. Every referenced image must have at least one hash subnode.

Keys and policy

Trusted public keys live in U-Boot's control device tree, because a key stored inside the signed image could be altered. Key nodes carry an algorithm such as sha256 with rsa2048, and an optional required property set to image or conf. The required-mode setting decides whether any or all required keys must validate the configuration.

Rollback is a different attack

The documentation separately identifies rollback, where an older signed image is placed into a newer FIT. Signed configurations address mix-and-match, not rollback. It points to TPM based rollback protection scripted through the tpm command and lists a built-in default as future work. If you ship U-Boot verified boot, plan your own downgrade defense.

AttackDefense in the documentation
Corrupted imageHash
Swapped imageImage signature
Mix-and-match configurationSigned configuration
Older signed imageTPM scripting, not built in

Checklist

  1. Sign configurations, not only images.
  2. Set required keys so an unsigned configuration cannot boot.
  3. Keep the control device tree itself protected by your boot chain.
  4. Add a rollback control and test it.

Where Safeguard fits

Safeguard supports compliance and evidence automation alongside SBOM and dependency scanning, so a record like this can be kept with your other evidence. Try the free scan at gold.safeguard.sh/scan on a repository you already own.

Quick check

Is a hash in a FIT image enough?

It detects corruption. Without a signature anyone who can write the image can compute a matching hash.

Does U-Boot prevent rollback by default?

The documentation does not describe a built-in rollback defense and lists one as future work.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.