Në projektin në zhvillim OpenWrt, në mjetet ASU (Attended SysUpgrade) janë identifikuar vulnerabilitete kritike (CVE-2024-54143), të cilat lejojnë komprometimin e artefakteve të ndërtimit, që shpërndahen përmes shërbimit sysupgrade.openwrt.org ose serverëve të tjerë ASU, dhe arrijnë të instalojnë imazhe firmware të modifikuara nga sulmuesit në sistemet e përdoruesve që përdorin modalitetin "attended upgrade" përmes ndërfaqes web selector.openwrt.org ose mjetit të linjës së komandës attended.sysupgrade.
Për të realizuar me sukses një sulm, mjafton që sulmuesi të dërgojë një kërkesë për formimin e ndërtimit në serverin ASU (kërkesa të tilla mund të dërgohen nga çdo përdorues pa kaluar verifikimin). Nëpërmjet manipulimeve me një listë paketash të hartuar posaçërisht, sulmuesi mund të organizojë dërgimin e imazheve të dëmshme të gjeneruara më parë në përgjigje të kërkesave legjitime të ndërtimit nga përdorues të tjerë.
Shërbimi ASU përdoret në OpenWrt për të formuar dhe instaluar përditësime të firmware pa humbur parametrat aktualë dhe paketat e instaluara nga përdoruesi. Përmes ndërfaqes web ose mjetit të linjës së komandës, përdoruesi dërgon një kërkesë për të formuar një imazh të përditësuar firmware, duke specifikuar paketat e instaluara në sistemin e tij. Pas një periudhe kohe, serveri ASU formon imazhin përkatës për përmbajtjen e kërkuar, pas së cilës përdoruesi e shkarkon atë dhe e instalon në pajisjen e tij. Po ashtu ofrohet një opsion për të ruajtur parametrat aktualë në firmware-në e përditësuar.
Serveri ASU është përgjegjës për përpunimin e kërkesave nga përdoruesit, i cili nis automatikisht ndërtimin e imazheve të firmware me ndihmën e mjeteve ImageBuilder, si dhe mbështet një cache nga ndërtimet e përgatitura më parë. Nëse përdoruesi kërkon një imazh që është ndërtuar më parë dhe ruan aktualitetin e tij, sistemi menjëherë jep imazhin e disponueshëm nga cache pa nisur procesin e ndërtimit. server dhe mban aktualitetin, sistemi menjëherë ofron imazhin e disponueshëm nga cache pa nisur procesin e ndërtimit.
Sipas sjelljes së sulmit, kjo u bë e mundur për shkak të dy vulnerabiliteteve:
- Një vulnerabilitet në menaxherin e kërkesave build_reques.py nga mjeti Imagebuilder, që lejon futjen e komandave të veta në procesin e ndërtimit përmes kalimit të emrave të paketave të formatuara posaçërisht nga përdoruesi. Vulnerabiliteti rezulton nga mungesa e verifikimit të duhur të karaktereve speciale në emrat e paketave para përdorimit të tyre si argumente në utilitarin make. Duke shfrytëzuar këtë vulnerabilitet, sulmuesi mund të krijojë në server imazhe të dëmshme të firmware-it, të nënshkruara me çelësin ndërtues të saktë.
- Një vulnerabilitet në bibliotekën util.py, i shkaktuar nga faktori se hash SHA-256, të utilizuar për kontrollin e pranisë në cache të imazheve të firmware-it tashmë të gatshëm, u prenë në 12 thonjza, duke e reduktuar ndjeshëm nivelin e entropisë dhe duke lejuar, përmes ndërsjelljeve të kolizionit, krijimin e një imazhi të dëmshëm, hash-i të cilit përputhet me imazhin legjitim. Në kombinim me vulnerabilitetin në Imagebuilder, problemi me hash-at mund të shfrytëzohej nga sulmuesi për të "ndotur" cache-n e ASU Server dhe për të vendosur në të imazhe të dëmshme, të shkarkuara në kërkesat e përdoruesve të zakonshëm.
Ndryshimi, pas të cilit u bë e mundur kryerja e sulmit, u bë më 8 korrik. Problemi u zgjidh më 4 dhjetor. Për sigurimin e funksionimit të shërbimit ASU, u përdorën veçmas serverët, sisteme që nuk përplasen me sistemet kryesore të ndërtimit të projektit, të ndara nga OpenWrt Buildbot dhe pa akses në burime të tilla konfidenciale si çelësat SSH dhe certifikatat për krijimin e nënshkrimeve digjitale.
Thuhet se zhvilluesit e OpenWrt nuk kanë gjetur prova të komprometimit të infrastrukturës së projektit, por për t'u mbrojtur, ata ribërë nga e para sistemet në të cilat ekzekutoheshin komponentët vulnerabil. Problemi nuk preku imazhet zyrtare që shpërndahen përmes faqes downloads.openwrt.org, dhe gjatë analizës së logeve të ndërtimit nuk u gjetën prova të dërgimit të kërkesave të dëmshme. Megjithatë, pasi serverët ASU ekzekutojnë pastrimin automatike të ndërtimeve mbi 7 ditë, kryerja e një auditi të ndërtimeve të vjetra u bë e pamundur.
Shkalla e përdorimit të vulnerabiliteteve të zbuluara në praktikë për shpërndarjen e imazheve të dëmshme përmes infrastrukturës OpenWrt vlerësohet nga përfaqësuesit e OpenWrt si e afërt me zero, megjithatë përdoruesve të ASU iu rekomandohet që në pajisjet e tyre të zëvendësojnë firmware-t OpenWrt me të njëjtën version.
Burimi: opennet.ru
