CVE-2024-57255

7.1 HIGH

📋 TL;DR

This CVE describes an integer overflow vulnerability in Das U-Boot's squashfs filesystem handling. When processing a specially crafted squashfs filesystem with a specific inode size, it causes a zero-byte memory allocation followed by memory corruption. This affects systems using vulnerable versions of Das U-Boot bootloader.

💻 Affected Systems

Products:
  • Das U-Boot
Versions: All versions before 2025.01-rc1
Operating Systems: Any OS booted via Das U-Boot
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability triggers when processing squashfs filesystems during boot. Embedded systems and IoT devices using Das U-Boot are particularly affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, persistent bootkit installation, or denial of service rendering the device unbootable.

🟠

Likely Case

System crash or denial of service during boot process when processing malicious squashfs filesystems.

🟢

If Mitigated

Limited impact if systems don't process untrusted squashfs filesystems during boot.

🌐 Internet-Facing: LOW - Bootloaders typically aren't directly internet-facing, though could be exposed via network boot services.
🏢 Internal Only: MEDIUM - Risk exists if attackers can supply malicious squashfs filesystems to boot process via local or network storage.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires ability to supply malicious squashfs filesystem to boot process. No public exploit code known as of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2025.01-rc1 and later

Vendor Advisory: https://source.denx.de/u-boot/u-boot/-/commit/233945eba63e24061dffeeaeb7cd6fe985278356

Restart Required: No

Instructions:

1. Update Das U-Boot to version 2025.01-rc1 or later. 2. Recompile bootloader if using custom build. 3. Flash updated bootloader to device. 4. Verify boot process completes successfully.

🔧 Temporary Workarounds

Disable squashfs support

all

Remove or disable squashfs filesystem support in U-Boot configuration

make menuconfig
Navigate to Filesystem support -> SquashFS support and disable
make

Validate boot media

all

Ensure only trusted squashfs filesystems are used during boot

🧯 If You Can't Patch

  • Restrict physical and network access to boot process
  • Use secure boot with verified boot media only

🔍 How to Verify

Check if Vulnerable:

Check U-Boot version: 'version' command at U-Boot prompt or examine bootloader binary

Check Version:

U-Boot> version

Verify Fix Applied:

Verify U-Boot version is 2025.01-rc1 or later, or check for commit 233945eba63e24061dffeeaeb7cd6fe985278356 in source

📡 Detection & Monitoring

Log Indicators:

  • U-Boot crash messages
  • Boot failures when loading squashfs
  • Memory corruption errors during boot

Network Indicators:

  • Unexpected network boot attempts
  • TFTP requests for squashfs files

SIEM Query:

Search for boot failures or U-Boot error messages containing 'squashfs' or 'malloc' in system logs

🔗 References

📤 Share & Export