Открити са шест уязвимости в широко използвания зареждач U-Boot, които могат да позволят на атакуващите да изпълнят зловреден код по време на стартиране на устройството. Това потенциално позволява извършването на незабележими атаки срещу фърмуера, компрометиране на защитите и инсталиране на постоянен зловреден софтуер.

U-Boot е един изключително популярен зареждач с отворен код, използван в много вградени Linux устройства, включително контролери за управление на дънната платка (BMC) на корпоративни сървъри, мрежово оборудване, индустриални системи и IoT устройства.

Тъй като U-Boot отговаря за зареждането на операционната система, уязвимостите в него позволяват компрометиране на устройството преди стартирането на ОС и защитния софтуер. Една от функциите за сигурност, Verified Boot, използва криптографски подписи за проверка на фърмуера, но компанията Binarly откри шест проблема именно в този код за проверка на FIT (Flattened Image Tree) подписи:

  • BRLY-2026-037: Несъответствие, което може да срине U-Boot или да позволи изпълнение на произволен код при определени условия.
  • BRLY-2026-038: Уязвимост за повреждане на паметта, позволяваща изпълнение на произволен код при проверка на подписа.
  • BRLY-2026-039: Четене извън границите на буфера, което може да срине устройството.
  • BRLY-2026-040: Дерефериране на нулев указател, водещо до срив на зареждача.
  • BRLY-2026-041: Неправилно валидиране на външно съхранявани данни, водещо до срив.
  • BRLY-2026-042: Неограничена рекурсия, която изчерпва стековата памет и срива зареждача.

Binarly съобщава, че засегнатият код съществува от версия 2013.07, което засяга над 50 стабилни версии на проекта и множество софтуерни разклонения на производители. Корекциите вече са приети в основния код на U-Boot, но потребителите трябва да изчакат фърмуерни актуализации от съответните хардуерни производители. По-старите устройства, които не се поддържат, може никога да не получат пач.