Zranitelnosti umožňující podvrhnout obrazy a vykonat kód na ASU serverech projektu OpenWrt

V rámci vyvíjeného projektu OpenWrt byla v nástroji ASU (Attended SysUpgrade) odhalena kritická zranitelnost (CVE-2024-54143), která umožňuje kompromitaci sestavovaných artefaktů distribuovaných prostřednictvím služby sysupgrade.openwrt.org nebo třetích ASU serverů, a dosažení instalace modifikovaných obrázků firmwaru útočníkem na systémy uživatelů, kteří pro aktualizaci firmwaru používají režim 'attended upgrade' prostřednictvím webového rozhraní selector.openwrt.org nebo nástroje příkazového řádku attended.sysupgrade.

Pro úspěšné provedení útoku stačí útočníkovi poslat žádost o vytvoření sestavy na server ASU (takové žádosti může poslat jakýkoli uživatel bez autentizace). Prostřednictvím manipulace se speciálně upraveným seznamem balíčků může útočník zorganizovat odeslání dříve vygenerovaných škodlivých obrazů v reakci na legitimní žádosti o sestavy od jiných uživatelů.

Služba ASU se v OpenWrt používá pro generování a instalaci aktualizací firmwaru bez ztráty stávajících nastavení a nainstalovaných balíčků uživatelem. Prostřednictvím webového rozhraní nebo nástroje příkazového řádku uživatel odešle žádost o vytvoření aktualizovaného obrazu firmwaru a uvede nainstalované balíčky ve svém systému. Po nějaké době server ASU vytvoří obraz odpovídající objednanému obsahu, po čemž ho uživatel stáhne a nahradí na své zařízení. Navíc je k dispozici možnost, která umožňuje uchovat stávající nastavení v aktualizovaném firmwaru.

Za zpracování žádostí od uživatelů odpovídá server ASU, který spuští automatickou sestavu obrazů firmwaru pomocí nástroje ImageBuilder a také udržuje cache z dříve připravených sestav. Pokud uživatel požádal o obraz, který již byl dříve sestaven, serveru a který je aktuální, systém okamžitě vrátí existující obraz z cache bez spuštění sestavovacího procesu.

Chování útoku se stalo možným díky dvěma zranitelnostem:

  • Zranitelnost v zpracovateli požadavků build_reques.py ze souboru nástrojů Imagebuilder umožňuje vkládat vlastní příkazy do procesu sestavení pomocí speciálně vytvořených názvů balíčků, které uživatel zadá. Zranitelnost je způsobena nedostatečnou kontrolou speciálních znaků v názvech balíčků před jejich použitím jako argumentů nástroje make. Vyšší útočník může využít této zranitelnosti a na serveru vytvořit škodlivé obrazy firmwaru, podepsané platným klíčem pro sestavení.
  • Zranitelnost v knihovně util.py je způsobena tím, že SHA-256 hashe, které se používají k ověření existence již připravených obrazů firmwaru v cache, byly zkracovány na 12 znaků, což výrazně snížilo úroveň entropie a umožnilo útočníkovi vyvinout škodlivý obraz, jehož hash se shoduje s legitímním obrazem. V kombinaci se zranitelností v Imagebuilderu mohla být problém s hashováním využita útočníkem k "kontaminaci" cache serveru ASU a umístění škodlivých obrazů, které byly vráceny na žádosti běžných uživatelů.

Změna, po které se stala možnou útok, byla provedena 8. července. Problém byl vyřešen 4. prosince. Pro zajištění provozu služby ASU byly použity oddělené servery, navzájem se nepřekrývající s hlavními sestavovacími systémy projektu, oddělené od OpenWrt Buildbot a nemající přístup k takovým důvěrným zdrojům, jako jsou SSH klíče a certifikáty pro vytváření digitálních podpisů.

Tvrdí se, že vývojáři OpenWrt nenalezli žádné stopy po kompromitaci infrastruktury projektu, ale pro jistotu znovu nainstalovali systémy, na kterých běžely zranitelné komponenty. Problém se netýkal oficiálních obrazů poskytovaných prostřednictvím webu downloads.openwrt.org, a při analýze sestavovacích protokolů nebyly nalezeny žádné stopy po odesílání škodlivých požadavků. Přitom, jelikož na serverech ASU běží automatické čištění sestav starších 7 dnů, nebylo možné provést audit starých sestav.

Pravděpodobnost využití zjištěných zranitelností v praxi pro šíření škodlivých obrazů prostřednictvím infrastruktury OpenWrt je podle zástupců OpenWrt hodnocena jako blízká nule, nicméně uživatelům ASU se doporučuje na svých zařízeních nahradit obrazy OpenWrt stejnou verzí.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster