Forskare har upptäckt sex U-Boot-sårbarheter som kan göra det möjligt för angripare att köra skadlig kod under de allra tidigaste stegen av en enhets uppstart. Bristerna påverkar den välanvända bootloadern med öppen källkod och kan möjliggöra beständiga firmwareattacker innan operativsystemet eller säkerhetsprogramvaran börjar köras.

Två av sårbarheterna kan leda till godtycklig kodkörning, medan de fyra övriga kan utnyttjas för att krascha sårbara enheter.

Säkerhetsbrister riktar in sig på uppstartsprocessen

U-Boot är en av världens mest använda bootloaders med öppen källkod. Den används i inbyggda Linux-enheter, däribland Baseboard Management Controllers (BMC), nätverksutrustning, industriella system, IoT-enheter och företagsutrustning.

Eftersom U-Boot laddar operativsystemet kan angripare som komprometterar bootloadern ta kontroll innan operativsystemet startar. Det gör det möjligt att kringgå många säkerhetsfunktioner som normalt aktiveras senare under uppstartsprocessen.

En viktig skyddsfunktion är Verified Boot. Den kontrollerar kryptografiska signaturer för att säkerställa att endast betrodd firmware och betrodda operativsystemsbilder laddas.

Sex sårbarheter har upptäckts

Forskare inom firmwaresäkerhet identifierade sex brister i U-Boots kod för signaturverifiering av Flattened Image Tree (FIT).

Enligt forskarna kan två av sårbarheterna möjliggöra godtycklig kodkörning under verifieringen av firmware. De fyra övriga kan orsaka krascher genom att bearbeta specialutformade firmwarebilder.

De offentliggjorda sårbarheterna omfattar:

  • BRLY-2026-037: En kraschsårbarhet som under vissa förhållanden kan möjliggöra godtycklig kodkörning.
  • BRLY-2026-038: En minneskorruptionssårbarhet som kan leda till godtycklig kodkörning.
  • BRLY-2026-039: En out-of-bounds-läsning som kan krascha sårbara enheter.
  • BRLY-2026-040: En null pointer dereference som får bootloadern att krascha.
  • BRLY-2026-041: Felaktig validering av extern firmwaredata som kan orsaka krascher.
  • BRLY-2026-042: Obegränsad rekursion som förbrukar stackminnet och kraschar bootloadern.

Den sårbara koden har funnits i flera år

Forskarna uppger att merparten av den berörda koden har funnits sedan U-Boot version 2013.07.

Det innebär att U-Boot-sårbarheterna kan påverka fler än 50 stabila versioner av projektet. Även hårdvarutillverkare som har integrerat den sårbara koden i sin egen firmware påverkas.

Många leverantörsanpassade versioner kan därför förbli sårbara tills tillverkarna släpper uppdaterad firmware.

Firmwareattacker kan vara svåra att upptäcka

Om angripare utnyttjar sårbarheterna för kodkörning kan de köra skadlig kod innan operativsystemet laddas.

Den tidiga åtkomsten kan göra det möjligt att inaktivera firmwarebaserade säkerhetsfunktioner, ändra uppstartsprocessen eller installera beständig firmware-skadlig kod som överlever ominstallationer av operativsystemet.

Eftersom den skadliga koden körs innan operativsystemet startar kan dessa attacker vara betydligt svårare att upptäcka än traditionlig skadlig kod.

Även fjärranslutna system kan vara utsatta

Forskarna påpekar att utnyttjande av U-Boot-sårbarheterna inte alltid kräver fysisk åtkomst.

Enheter som Baseboard Management Controllers och som stöder fjärruppdatering av firmware kan angripas om en hotaktör först komprometterar administrationsgränssnittet. Därefter kan angriparen ladda upp en specialutformad firmwarebild som är avsedd att utlösa sårbarheterna.

Forskarna rapporterade samtliga sex brister till U-Boots utvecklare och skickade in korrigeringar som redan har accepterats i huvudprojektet.

Hårdvarutillverkarna måste dock först integrera dessa korrigeringar i sin egen firmware innan kunderna kan få uppdateringarna. Äldre eller enheter som inte längre får firmwareuppdateringar kan därför förbli permanent sårbara.


0 svar till ”U-Boot-sårbarheter kan möjliggöra smygande firmwareattacker före systemstart”