Në mjetin për zhvillim të projektit OpenWrt, ASU (Attended SysUpgrade) janë identifikuar disa vulnerabilitete kritike (CVE-2024-54143), që mundësojnë komprometimin e artefakteve të ndërtimit, të shpërndara përmes shërbimit sysupgrade.openwrt.org ose serverave ASU të palëve të treta, dhe të arrihet instalimi i imazheve të firmware të modifikuar nga një sulmues në sistemet e përdoruesve që përdorin modalitetin "attended upgrade" për të përditësuar firmware përmes ndërfaqes së internetit selector.openwrt.org ose mjetit të komandës attended.sysupgrade.
Për të realizuar me sukses një sulm, sulmuesi duhet thjesht të dërgojë një kërkesë për krijimin e një ndërtimi në serverin ASU (kërkesa të tilla mund të dërgohen nga çdo përdorues pa kaluar nëpër autentifikim). Me manipulime të listave të paketave të dizajnuara posaçërisht, sulmuesi mund të organizojë dërgimin e imazheve të dëmshme të gjeneruara më parë në përgjigje të kërkesave legjitime për ndërtim nga përdorues të tjerë.
Shërbimi ASU përdoret në OpenWrt për të krijuar dhe instaluar përditësime të firmware pa humbur cilësimet dhe paketat e instaluara nga përdoruesi. Përmes ndërfaqes së internetit ose mjeteve të komandës, përdoruesi dërgon një kërkesë për krijimin e një imazhi të përditësuar, duke specifikuar paketat e instaluara në sistemin e tij. Pas një kohe, serveri ASU krijon një imazh që përputhet me përmbajtjen e kërkuar, pas të cilit përdoruesi e shkarkon dhe e instalon atë në pajisjen e tij. Për më tepër, ofrohet një opsion që lejon ruajtjen e cilësimeve ekzistuese në firmware të përditësuar.
Për trajtimin e kërkesave nga përdoruesit është përgjegjës ASU Server, i cili fillon ndërtimin automatik të imazheve të firmware duke përdorur mjetin ImageBuilder, si dhe mbështet një memorie cache të ndërtimeve të përgatitura më parë. Në rast se përdoruesi kërkon një imazh që është ndërtuar më parë dhe që ruan relevancën, sistemi e jep menjëherë imazhin e disponueshëm nga cache pa nisur procesin e ndërtimit. serveri Sjellja e sulmit u bë e mundur përmes dy vulnerabiliteteve:
Vulnerabiliteti në trajtuesin e kërkesave build_reques.py pjesë e mjetit Imagebuilder, që lejon vendosjen e komandave të tij në procesin e ndërtimit përmes dërgimit të emrave të paketave të formuluar posaçërisht nga përdoruesi. Ky vulnerabilitet shkaktohet nga mungesa e kontrollit të duhur të simboleve speciale në emrat e paketimeve përpara se të përdoren në numrin e argumenteve të utilit make. Duke shfrytëzuar këtë vulnerabilitet, sulmuesi mund të krijojë në server imazhe të dëmshme të firmware, të nënshkruara me çelësin e ndërtimit të saktë.
- Vulnerabiliteti në bibliotekën util.py, e shkaktuar nga fakti që SHA-256 hash-et, të përdorura për kontrollin e disponueshmërisë në cache të imazheve të firmware të gatshme, u prenë deri në 12 simbole, çka kishte ulur ndjeshëm nivelin e entropisë dhe lejonte që nëpërmjet gjetjes së kolizionit të krijohej një imazh i dëmshëm, hash-i i të cilit përputhej me imazhin legjitim. Në kombinim me vulnerabilitetin në Imagebuilder, problemi me hash-at mund të përdorej nga sulmuesi për të "ndotur" cache-in e ASU Server dhe për të vendosur imazhe të dëmshme, që jepen në kërkesat nga përdoruesit e zakonshëm.
- Ndryshimi, pas të cilit u bë e mundur realizimi i sulmit, u bë më 8 korrik. Problemi u zgjidh më 4 dhjetor. Për të siguruar funksionimin e shërbimit ASU, u përdorën sisteme të veçanta, të cilat nuk përputheshin me sistemet kryesore të ndërtimit të projektit, të ndara nga OpenWrt Buildbot dhe pa akses në burime të tilla të ndjeshme si çelësat SSH dhe certifikatat për formimin e nënshkrimeve digjitale.
Sipas informacionit, zhvilluesit e OpenWrt nuk gjetën shenja të komprometimit të infrastrukturës së projektit, por për siguri, ata rinovuan nga e para sistemet në të cilat ishin ekzekutuar komponentët vulnerabil. Problemi nuk preku imazhet zyrtare, të cilat shpërndahen përmes sitit downloads.openwrt.org, dhe gjatë analizës së logeve të ndërtimit nuk u gjetën shenja dërgimi të kërkesave të dëmshme. Megjithatë, për shkak se në serverat ASU kryhet një pastrim automatik i ndërtimeve më të vjetra se 7 ditë, ishte e pamundur të kryhej një auditim i ndërtimeve të vjetra. hostingutProbabiliteti i përdorimit të vulnerabiliteteve të identifikuara 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 i afërt me zero, megjithatë përdoruesve të ASU u rekomandohet që të zëvendësojnë imazhet e firmware OpenWrt në pajisjet e tyre me versionin e njëjtë.
Sipas zhvilluesve të OpenWrt, nuk u gjetën prova të kompromiseve në infrastrukturën e projektit, por për të qenë të sigurt, ata riparuan sistemet ku ishin të instaluara komponentët e prekshëm. Problemi nuk epreku imazhin zyrtar, i shpërndarë përmes faqes downloads.openwrt.org, dhe gjatë analizës së log-eve të ndërtimit nuk u gjetën prova të dërgimit të kërkesave të dëmshme. Në këtë kuadër, duke qenë se në serverët e ASU kryhet një pastrim automatik i ndërtimeve më të vjetra se 7 ditë, ishte e pamundur të kryhej një audt ndaj ndërtimeve të vjetra.
Probabiliteti i përdorimit të vulnerabiliteteve të identifikuara në praktikë për të shpërndarë imazhe të dëmshme përmes infrastrukturës OpenWrt vlerësohet nga përfaqësuesit e OpenWrt si afër zeros, megjithatë përdoruesve të ASU u rekomandohet të zëvendësojnë firmware-t OpenWrt në pajisjet e tyre me të njëjtin version.
Burimi: opennet.ru
