Forskere har avdekket seks U-Boot-sårbarheter som kan gjøre det mulig for angripere å kjøre skadelig kode i de aller tidligste fasene av en enhets oppstart. Sårbarhetene påvirker den mye brukte åpen kildekode-bootloaderen og kan muliggjøre vedvarende firmwareangrep før operativsystemet eller sikkerhetsprogramvaren begynner å kjøre.
To av sårbarhetene kan føre til vilkårlig kodekjøring, mens de fire øvrige kan utnyttes til å krasje sårbare enheter.
Sikkerhetssårbarheter retter seg mot oppstartsprosessen
U-Boot er en av verdens mest utbredte bootloadere med åpen kildekode. Den brukes i innebygde Linux-enheter, blant annet Baseboard Management Controllers (BMC-er), nettverksutstyr, industrielle systemer, IoT-enheter og bedriftsutstyr.
Siden U-Boot laster operativsystemet, kan angripere som kompromitterer bootloaderen få kontroll før operativsystemet starter. Dette gjør det mulig å omgå mange sikkerhetsmekanismer som normalt aktiveres senere i oppstartsprosessen.
En viktig sikkerhetsmekanisme er Verified Boot. Denne funksjonen kontrollerer kryptografiske signaturer for å sikre at kun pålitelig firmware og operativsystembilder blir lastet.
Seks sårbarheter oppdaget
Forskere innen firmwaresikkerhet identifiserte seks feil i U-Boots kode for signaturverifisering av Flattened Image Tree (FIT).
Ifølge forskerne kan to av sårbarhetene muliggjøre vilkårlig kodekjøring under verifisering av firmware. De fire øvrige kan utløse krasj ved behandling av spesialutformede firmwarebilder.
De offentliggjorte sårbarhetene omfatter:
- BRLY-2026-037: En krasjsårbarhet som under visse forhold kan muliggjøre vilkårlig kodekjøring.
- BRLY-2026-038: En minnekorrupsjonssårbarhet som kan føre til vilkårlig kodekjøring.
- BRLY-2026-039: En out-of-bounds-lesing som kan krasje sårbare enheter.
- BRLY-2026-040: En null pointer dereference som får bootloaderen til å krasje.
- BRLY-2026-041: Feil validering av eksterne firmwaredata som kan forårsake krasj.
- BRLY-2026-042: Ubegrenset rekursjon som tømmer stakkminnet og krasjer bootloaderen.
Den sårbare koden har eksistert i flere år
Forskerne opplyser at mesteparten av den berørte koden har eksistert siden U-Boot versjon 2013.07.
Som følge av dette kan U-Boot-sårbarhetene påvirke mer enn 50 stabile utgivelser av prosjektet. Konsekvensene omfatter også maskinvareprodusenter som har integrert den sårbare koden i sin egen firmware.
Mange leverandørtilpassede versjoner kan derfor forbli sårbare inntil produsentene slipper oppdatert firmware.
Firmwareangrep kan være vanskelige å oppdage
Dersom angripere utnytter sårbarhetene for kodekjøring, kan de kjøre skadelig kode før operativsystemet lastes inn.
Denne tidlige tilgangen kan gjøre det mulig å deaktivere firmwarebaserte sikkerhetsfunksjoner, endre oppstartsprosessen eller installere vedvarende firmware-skadevare som overlever reinstallasjon av operativsystemet.
Fordi den skadelige koden kjører før operativsystemet starter, kan slike angrep være betydelig vanskeligere å oppdage enn tradisjonell skadevare.
Også eksternt tilgjengelige systemer kan være utsatt
Forskerne påpeker at utnyttelse av U-Boot-sårbarhetene ikke alltid krever fysisk tilgang.
Enheter som Baseboard Management Controllers og som støtter eksterne firmwareoppdateringer, kan angripes dersom en trusselaktør først kompromitterer administrasjonsgrensesnittet. Angriperen kan deretter laste opp et spesialutformet firmwarebilde som er laget for å utløse sårbarhetene.
Forskerne rapporterte alle seks sårbarhetene til U-Boot-utviklerne og leverte inn rettelser som allerede er tatt inn i hovedprosjektet.
Maskinvareprodusentene må imidlertid først integrere disse rettelsene i sin egen firmware før kundene kan motta oppdateringene. Eldre eller ikke lenger støttede enheter som ikke mottar firmwareoppdateringer, kan derfor forbli permanent sårbare.


0 responses to “U-Boot-sårbarheter kan muliggjøre skjulte firmwareangrep før oppstart”