Ve webovém rozhraní J-Web, které se používá na síťových zařízeních společnosti Juniper s operačním systémem JunOS, byly zjištěny některé zranitelnosti, z nichž nejnebezpečnější (CVE-2022-22241) umožňuje útočníkovi vzdáleně, bez autentizace, vykonat svůj kód v systému zasláním speciálně upraveného HTTP požadavku. Uživatelům zařízení Juniper se doporučuje nainstalovat aktualizaci firmwaru, a pokud to není možné, zajistit, aby byl přístup k webovému rozhraní blokován z externích sítí a omezen pouze na důvěryhodné hosty.
Podstata zranitelnosti spočívá v tom, že uživatelsky zadaná cesta k souboru se zpracovává ve skriptu /jsdm/ajax/logging_browse.php bez filtrace prefixu typu obsahu v fázi před autentizací. Útočník může zaslat škodlivý phar-soubor jako obrázek a vyvolat vykonání PHP kódu umístěného v archivu phar, využitím metody útoku „Phar deserialization“ (například zadáním v dotazu „filepath=phar:/cesta/pharfile.jpg“).
Problém spočívá v tom, že při ověřování nahraného souboru pomocí PHP funkce is_dir() tato funkce automaticky provádí deserializaci metadat z archivu Phar (PHP Archive) při zpracování cest začínajících na „phar://“. Podobný efekt se projevuje při zpracování uživatelsky zadaných cest k souborům v funkcích file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() a filesize().
Útok se komplikuje tím, že kromě iniciace vykonání archivu phar musí útočník najít způsob, jak tento soubor nahrát na zařízení (přes volání /jsdm/ajax/logging_browse.php lze pouze zadat cestu k vykonání již existujícího souboru). Mezi možné scénáře, jak se soubory dostanou na zařízení, se uvádí nahrání phar-souboru jako obrázku přes službu pro přenos obrázků a vložení souboru do mezipaměti webového obsahu.
Další zranitelnosti:
- CVE-2022-22242 — vložení nefiltrovaných externích parametrů do výstupu skriptu error.php, což umožňuje dosáhnout meziwebového skriptování a vykonat v prohlížeči uživatele libovolný JavaScript kód po kliknutí na odkaz (například „https://JUNOS_IP/error.php?SERVER_NAME=. Zranitelnost může být využita k převzetí parametrů relace administrátora, pokud se útočníkovi podaří otevřít cílený odkaz, který vytvořil administrátor.
- CVE-2022-22243, CVE-2022-22244 — vkládání výrazů XPATH prostřednictvím skriptů jsdm/ajax/wizards/setup/setup.php a /modules/monitor/interfaces/interface.php umožňuje neoprávněnému autentizovanému uživateli manipulovat se sezeními administrátora.
- CVE-2022-22245 — nedostatečné očištění sekvence „..“ v cestách zpracovaných skriptem Upload.php umožňuje autentizovanému uživateli nahrát svůj PHP soubor do adresáře, který povoluje vykonávání PHP skriptů (např. předáním cesty „fileName=\..\..\..\..\www\dir\new\shell.php“).
- CVE-2022-22246 — možnost vykonávání libovolného lokálního PHP souboru prostřednictvím manipulací autentizovaného uživatele se skriptem jrest.php, ve kterém jsou externí parametry použity k vytvoření názvu souboru nahrávaného funkcí „require_once()“ (např. „/jrest.php?payload=alol/lol/any\..\..\..\..\any\file“).
Zdroj: opennet.ru
