Přejít k hlavnímu obsahu
Bezpečnost

Dostala "deset z deseti": pozor na novou bezpečnostní chybu Windows – může vám způsobit vážné problémy

Jiří Palyza 15.04.2024
Zdroj: Midjourney (vygenerováno pomocí umělé inteligence)

Závažná zranitelnost ve standardní knihovně pro Windows může být zneužitelná ke kritickým útokům. Bezpečnostní díra umožňuje vzdálené spouštění škodlivého kódu.

Vývojáři a bezpečnostní komunita se potýkají se závažným problémem. Standardní knihovna jazyka Rust obsahuje kritickou bezpečnostní chybu, která ohrožuje zejména systémy Windows. Zranitelnost, která je označena kódem CVE-2024-24576, útočníkům umožňuje provádět útoky typu "command injection".

Platforma GitHub objevené chybě přiřadila v rámci standardizovaného systému hodnocení zranitelností CVSS deset bodů z deseti. Zařadila ji tak do nejvyšší možné kategorie rizik. Útočníci nepotřebují žádné ověření ani interakci s uživatelem a své útoky mohou realizovat bez většího úsilí.
 

Mohlo by vás zajímat

Pracovní skupina v oblasti bezpečnosti, Rust Security Response Working Group, v této souvislosti oznámila, že standardní knihovna Rust nemaskuje správně dávkové soubory v systému Windows prostřednictvím rozhraní Command API, tedy soubory s příponami .bat a .cmd. Útočník, který převezme kontrolu nad argumenty, předávanými spouštěnému procesu, může spustit libovolné příkazy shellu a obejít tak bezpečnostní opatření.

Pokud jsou dávkové soubory ve Windows volány s nedůvěryhodnými argumenty, představuje to kritické riziko. Jiných platforem nebo příkladů zneužití se tato zranitelnost netýká.

Bezpečnostní tým Rust vylepšuje aplikační rozhraní příkazů

Koláž s laptopem a tématikou programování
Podle názorů jednoho ze softwarových inženýrů se zranitelnost týká i programovacích jazyků.
Zdroj: Midjourney (vygenerováno pomocí umělé inteligence)

Bezpečnostní tým Rust se potýkal s velkým problémem, souvisejícím se složitostí souboru cmd.exe. Zpočátku nemohl vyvinout spolehlivé řešení pro správné maskování argumentů pro maximum možných případů. Nakonec se podařilo zlepšit robustnost maskovacího kódu, a také upravit aplikační rozhraní pro provádění příkazů.

Pokud aplikační rozhraní nyní nemůže bezpečně zamaskovat argument při spuštění procesu, vrací chybu neplatného vstupu.

Bezpečnostní tým dodává, že vývojáři, kteří sami implementují maskování, nebo zpracovávají pouze důvěryhodný vstup, také mohou použít jednu z metod v systému Windows (CommandExt::raw_arg), a tím obejít výchozí logiku maskování standardní knihovny.
 

Mohlo by vás zajímat

Pokud kód programu, anebo některá ze souvisejících komponent, vyvolá a spustí dávkové soubory s nedůvěryhodnými argumenty, jsou ve Windows chybou ovlivněny všechny verze Rustu před 1.77.2.

Bezpečnostní výzkumník Ryotak tuto zranitelnost pojmenoval "BatBadBut". Problém se týká celé řady programovacích jazyků: Erlang, Go, Haskell, Java, Node.js, PHP, Python a Ruby.

Zdroj: Bleeping Computer, Flatt Security


Máte k článku připomínku? Napište nám

Sdílet článek

Mohlo by se vám líbit








Všechny nejnovější zprávy

doporučujeme


články odjinud