drošība · 5 min · 12.07.2026

Sešas U-Boot FIT kļūdas — divas lauj palaist kodu pirms OS ielādes, stabils labojums tikai oktobrī

Binarly drošības pētnieki šonedēļ publicēja sešu U-Boot kļūdu tehnisko analīzi — izsekošanas numuri BRLY-2026-037 līdz BRLY-2026-042. Divas kļūdas ļauj izpildīt patvaļīgu kodu ielādes procesā, pirms operētājsistēma ir startējusi. Atlikušās četras ierīci avārē. Skartais kods U-Boot repozitorijā ir bijis kopš versijas v2013.07 — 13 gadus — un skar vairāk nekā 50 publicētos augšup straumes izlaidumus, kā arī daudzus ražotāju atzarus.

U-Boot ir bootloader, ko izmanto mājas maršrutētāji, drošības kameras, single-board datori un datu centru serveru BMC čipi. Verified Boot režīmā U-Boot pirms ielādes pārbauda FIT (Flattened Image Tree) attēla kriptogrāfisko parakstu — tā garantē, ka ierīcē tiek palaists tikai uzticams programmaparatūras kods. FIT attēlos var apkopot kodolu, ierīces koku un sākotnējo failu sistēmu ar vienu parakstu. Visas sešas Binarly atrastās kļūdas tiek izraisītas, apstrādājot neuzticamu attēlu pirms paraksts ir validēts — uzbrucējs var aktivizēt tās, nesastopoties ar nekādu drošības pārbaudi.

Divi caurumi ar koda izpildi

BRLY-2026-038 ir steka buffera pārpilde funkcijā fdt_find_regions. Negatīvs kļūdas kods tiek pieņemts kā garums; rādītājs pārvietojas atpakaļ pretēji domātajam virzienam, un ielādes laikā tiek pārrakstīta atsauces adrese. Rezultāts — pilna koda izpilde ar augstākajām sistēmas tiesībām.

BRLY-2026-042 izraisa bezgalīgu rekursiju funkcijā fdt_check_no_at. Speciāli konstruēts FIT attēls liek funkcijai izsaukt sevi bez izejas nosacījuma; steks tiek iztukšots un avārija ir garantēta. Pēc Binarly datiem, abas kodizpildes kļūdas sakņojas vienā nepārbaudītā lauka interpretācijā. Pārējās četras (BRLY-2026-037, BRLY-2026-039, BRLY-2026-040, BRLY-2026-041) rada pakalpojuma atteikumu, bet koda izpildi nenodrošina.

Kādas ierīces skar

The Hacker News aprakstā Binarly norāda, ka kļūdainais kods ir bijis gandrīz katrā U-Boot izlaidumā kopš 2013. gada jūlija. Konkrētu ražotāju saraksts nav publicēts, bet U-Boot izmanto OpenWRT maršrutētāji, Raspberry Pi, Beaglebone, rūpnieciskās iegultās sistēmas un virkne serveru ar BMC un IPMI implementācijām. Risks skar jebkuru platformu, kur Verified Boot darbojas ar FIT attēliem.

Papildu problēma ir izplatīšanas ķēde. Daudzi ražotāji forko U-Boot un uztur to neatkarīgi — paziņojums augšup straumē tiem nav automātisks brīdinājums. Iegultās sistēmas bieži vien nesaņem atjauninājumus vispār, jo ražotājs ir beidzis aktīvo atbalstu, lai arī ierīce turpina darboties tīklā.

Labojumi ir, stabila versija — vēl ne

Binarly iesniedza visus sešus ielāpus U-Boot uzturētājiem jūnijā, un tie tika pieņemti augšup straumē. Versija v2026.07 bija iesaldēta jau aprīlī — tā iznāca bez labojumiem. Nākamais stabils izlaidums v2026.10 ir plānots oktobrī. Binarly rekomendē ražotājiem velkt ielāpus tieši no U-Boot repozitorija tagad, nevis gaidīt stabilu versiju.

“All six vulnerabilities are triggered while handling untrusted FIT images before signature validation is complete, enabling attackers to exploit malformed images as an initial entry point.”

— Binarly, Unfit to Boot: Breaking U-Boot’s FIT Signature Verification

Uzbrukuma scenārijs un noturīgā ļaunatūra

Uzbrucējs ar iespēju modificēt programmaparatūras atjaunināšanas plūsmu aizstāj leģitīmu FIT attēlu ar konstruētu. U-Boot mēģina validēt attēlu, kļūda tiek aktivizēta pirms pārbaude ir pabeigta, un uzbrucēja kods darbojas ar augstākajām privilēģijām — pirms OS, pirms jebkādas izpildlaika aizsardzības. Tā rezultātā iespējama noturīgas ļaunatūras instalēšana programmaparatūrā, ko OS līmeņa skenēšana neatklāj un ko nodzēš tikai pilna programmaparatūras pārrakstīšana.

Fiziskie uzbrukumi iegultām ierīcēm, kas nav pieejamas no interneta, prasa klātienes piekļuvi. Taču OTA atjauninājumu plūsmas kompromitēšana — ja ražotāja infrastruktūra tiek uzlauzta — ļautu attālinātu izmantošanu masveidā. CVE identifikatori šīm sešām kļūdām vēl nav piešķirti. Pārbaudiet ar Binarly izsekošanas numuriem BRLY-2026-037 līdz BRLY-2026-042; pilnais tehniskais apraksts un saites uz pieņemtajiem ielāpiem atrodas Binarly emuārā.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no drošībasaistītie