Chyby ve webovém rozhraní síťových zařízení Juniper dodávaných s JunOS

Ve webovém rozhraní J-Web, které se používá v síťových zařízeních Juniper vybavených operačním systémem JunOS, bylo identifikováno několik zranitelností, z nichž nejnebezpečnější (CVE-2022-22241) umožňuje vzdáleně spouštět váš kód v systému bez autentizace odesláním speciálně navrženého požadavku HTTP. Uživatelům zařízení Juniper se doporučuje nainstalovat aktualizace firmwaru, a pokud to není možné, zajistěte, aby byl přístup k webovému rozhraní blokován z externích sítí a omezen pouze na důvěryhodné hostitele.

Podstatou chyby zabezpečení je, že cesta k souboru předaná uživatelem je zpracována ve skriptu /jsdm/ajax/logging_browse.php bez filtrování předpony s typem obsahu ve fázi před kontrolou autentizace. Útočník může přenést škodlivý soubor phar pod rouškou obrázku a dosáhnout spuštění kódu PHP umístěného v archivu phar pomocí metody útoku „Phar deserialization“ (například zadáním „filepath=phar:/path/phafile.jpg “ v žádosti).

Problém je v tom, že při kontrole nahraného souboru pomocí PHP funkce is_dir() tato funkce automaticky deserializuje metadata z Phar Archive při zpracování cest začínajících „phar://“. Podobný efekt je pozorován při zpracování cest k souborům dodaných uživatelem ve funkcích file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() a fileize().

Útok je komplikován tím, že kromě iniciace spuštění archivu phar musí útočník najít způsob, jak jej stáhnout do zařízení (přístupem na /jsdm/ajax/logging_browse.php lze zadat pouze cestu k spustit již existující soubor). Mezi možné scénáře, kdy se soubory dostanou do zařízení, patří stažení souboru phar maskovaného jako obrázek prostřednictvím služby přenosu obrázků a nahrazení souboru v mezipaměti webového obsahu.

Další zranitelnosti:

  • CVE-2022-22242 – náhrada nefiltrovaných externích parametrů ve výstupu skriptu error.php, který umožňuje skriptování mezi stránkami a spouštění libovolného kódu JavaScript v prohlížeči uživatele při sledování odkazu (například „https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) " Tuto chybu zabezpečení lze použít k zachycení parametrů relace správce, pokud se útočníkům podaří přimět správce, aby otevřel speciálně navržený odkaz.
  • CVE-2022-22243, CVE-2022-22244 Náhrada výrazu XPATH prostřednictvím skriptů jsdm/ajax/wizards/setup/setup.php a /modules/monitor/interfaces/interface.php umožňuje neprivilegovanému ověřenému uživateli manipulovat s relacemi správce.
  • CVE-2022-22245 Nedostatek řádné dezinfekce sekvence „..“ v cestách zpracovaných skriptem Upload.php umožňuje ověřenému uživateli nahrát svůj soubor PHP do adresáře, který umožňuje spouštění skriptů PHP (například předáním cesta "fileName=\. .\...\...\...\www\dir\new\shell.php").
  • CVE-2022-22246 - Možnost libovolného spuštění lokálního PHP souboru prostřednictvím manipulace ověřeným uživatelem skriptu jrest.php, ve kterém jsou externí parametry použity k vytvoření názvu souboru načteného funkcí "require_once()" (např. příklad, "/jrest.php?payload =alol/lol/any\..\..\..\..\any\file")

Zdroj: opennet.ru

Přidat komentář