Bezpečnostní experti ze společnosti DepthFirst AI, která se zaměřuje na zabezpečení založené na umělé inteligenci, odhalili za pouhých šest hodin skenování kódu čtyři bezpečnostní chyby. Mezi nimi vyčnívá kritická zranitelnost v open-source webovém serveru NGINX, která v jeho zdrojovém kódu existuje přibližně 18 let.
Chyba, evidovaná pod označením CVE-2026-42945, získala v rámci systému CVSS skóre závažnosti 9,2. Umožňuje útočníkovi provést útok typu odepření služby (DoS) a za specifických okolností i vzdálené spuštění kódu (RCE).
NGINX je široce využívaná platforma pro webové servery a reverzní proxy, která pohání třetinu nejnavštěvovanějších webových stránek světa. Využívají ji cloudoví poskytovatelé, banky, e-shopy i velké technologické firmy.
Zranitelnost spočívá v přetečení haldy (heap buffer overflow) v modulu ngx_http_rewrite_module. K jejímu vyvolání dochází, pokud konfigurace NGINX využívá kombinaci direktiv „rewrite“ a „set“ – model, který je běžný u API bran a reverzních proxy.
Problém pramení z nekonzistentního zpracování stavu v interním skriptovacím enginu NGINX. Ten provádí přepisování ve dvou fázích: v první vypočítá množství paměti, kterou je třeba alokovat, a ve druhé zkopíruje samotná data. Kvůli chybě v příznaku is_args dochází k nesprávnému výpočtu velikosti bufferu, což následně vede k přetečení paměti.
Výzkumníci prokázali, že lze tímto způsobem spustit kód bez nutnosti autentizace. Využili k tomu speciálně zkonstruované HTTP požadavky, které poškodí okolní struktury v paměti a vynutí na serveru provedení příkazu system(). Úspěšný útok je však zatím závislý na vypnuté ochraně ASLR (Address Space Layout Randomization).
Odborníci z DepthFirst AI zdůrazňují výhodu víceprocesové architektury NGINX: „Pokud náš exploit selže a shodí proces, hlavní proces jednoduše spustí nový se zcela shodným rozložením paměti. To nám umožňuje bezpečně opakovat pokusy, dokud nejsme úspěšní, aniž bychom se museli obávat, že pád worker procesu změní uspořádání paměti.“
Dále dodávají: „Teoreticky bychom mohli tento design využít k úniku informací o ASLR postupným přepisováním ukazatelů po bajtech.“
Uživatelé s verzemi NGINX 0.6.27 až 1.30.0 by měli co nejdříve aktualizovat na zabezpečené verze. Pokud upgrade není možný, doporučuje se nahradit bezejmenné skupiny zachycování ($1, $2 atd.) v pravidlech „rewrite“ za pojmenované, čímž se eliminuje hlavní předpoklad pro zneužití.
Bezpečnostní komunita se nicméně shoduje, že praktické zneužití zranitelnosti v reálném světě není snadné. I když je vyvolání DoS útoku triviální, plnohodnotné vzdálené spuštění kódu na systémech se zapnutou ochranou ASLR zůstává pro útočníky velkou výzvou.
Zdroj: bleepingcomputer.com
Zdroj: IT SECURITY NETWORK NEWS


