← back
CVE-2024-54143

openwrt/asu allows build artifact poisoning via truncated SHA-256 hash and command injection

CVSS 9.3 CRITICALEPSS 1.9%CWE-328
In short

A server that builds OpenWrt firmware images uses an extremely weak hash (only 12 characters) to identify requests, allowing attackers to create fake images that match legitimate ones. Combined with command injection, attackers can inject malicious code into the build process and serve compromised firmware to users.

Technical detail

CVE-2024-54143 exploits truncated SHA-256 hashing (12 characters) in openwrt/asu's request mechanism to generate hash collisions, enabling cache poisoning of build artifacts. An unauthenticated attacker can combine this with command injection in Imagebuilder to execute arbitrary commands during firmware compilation, producing malicious signed images that replace legitimate builds in the cache.

Summary generated and translated by AI from the official description.
openwrt/asu is an image on demand server for OpenWrt based distributions. The request hashing mechanism truncates SHA-256 hashes to only 12 characters. This significantly reduces entropy, making it feasible for an attacker to generate collisions. By exploiting this, a previously built malicious image can be served in place of a legitimate one, allowing the attacker to "poison" the artifact cache and deliver compromised images to unsuspecting users. This can be combined with other attacks, such as a command injection in Imagebuilder that allows malicious users to inject arbitrary commands into the build process, resulting in the production of malicious firmware images signed with the legitimate build key. This has been patched with 920c8a1.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Affected products
openwrt · asu

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →