Chyby vo webovom rozhraní sieťových zariadení Juniper dodávaných s JunOS

Vo webovom rozhraní J-Web, ktoré sa používa v sieťových zariadeniach Juniper vybavených operačným systémom JunOS, bolo identifikovaných niekoľko zraniteľností, z ktorých najnebezpečnejšia (CVE-2022-22241) umožňuje na diaľku spustiť váš kód v systéme bez autentifikáciu odoslaním špeciálne navrhnutej HTTP požiadavky. Používateľom zariadení Juniper sa odporúča, aby si nainštalovali aktualizácie firmvéru, a ak to nie je možné, zaistite, aby bol prístup k webovému rozhraniu zablokovaný z externých sietí a obmedzený len na dôveryhodných hostiteľov.

Podstata zraniteľnosti spočíva v tom, že cesta k súboru odovzdaná používateľom je spracovaná v skripte /jsdm/ajax/logging_browse.php bez filtrovania predpony s typom obsahu vo fáze pred kontrolou autentifikácie. Útočník môže preniesť škodlivý súbor phar pod rúškom obrázka a dosiahnuť spustenie kódu PHP umiestneného v archíve phar pomocou metódy útoku „Phar deserialization“ (napríklad zadaním „filepath=phar:/path/pharfile.jpg“ “v žiadosti).

Problém je v tom, že pri kontrole nahraného súboru pomocou funkcie PHP is_dir() táto funkcia automaticky deserializuje metadáta z archívu Phar pri spracovaní ciest začínajúcich na „phar://“. Podobný efekt sa pozoruje pri spracovaní ciest k súborom dodaných používateľom vo funkciách file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() a fileize().

Útok je komplikovaný tým, že okrem spustenia spustenia archívu phar musí útočník nájsť spôsob, ako ho stiahnuť do zariadenia (prístupom na /jsdm/ajax/logging_browse.php môžete zadať iba cestu k spustiť už existujúci súbor). Možné scenáre pre súbory, ktoré sa dostanú do zariadenia, zahŕňajú stiahnutie súboru phar maskovaného ako obrázok prostredníctvom služby prenosu obrázkov a nahradenie súboru vo vyrovnávacej pamäti webového obsahu.

Ďalšie zraniteľnosti:

  • CVE-2022-22242 – náhrada nefiltrovaných externých parametrov vo výstupe skriptu error.php, ktorý umožňuje skriptovanie medzi stránkami a spúšťanie ľubovoľného kódu JavaScript v prehliadači používateľa pri sledovaní odkazu (napríklad „https:// JUNOS_IP/error.php?SERVER_NAME= alert(0)". Zraniteľnosť možno použiť na zachytenie parametrov relácie správcu, ak sa útočníkom podarí prinútiť správcu, aby otvoril špeciálne navrhnutý odkaz.
  • CVE-2022-22243, CVE-2022-22244 Náhrada výrazov XPATH prostredníctvom skriptov jsdm/ajax/wizards/setup/setup.php a /modules/monitor/interfaces/interface.php umožňuje neprivilegovanému overenému používateľovi manipulovať s reláciami správcu.
  • CVE-2022-22245 Nedostatočná dezinfekcia sekvencie „..“ v cestách spracovaných skriptom Upload.php umožňuje overenému používateľovi nahrať svoj súbor PHP do adresára, ktorý umožňuje spúšťanie skriptov PHP (napríklad prechodom cesta "fileName=\. .\...\...\...\www\dir\new\shell.php").
  • CVE-2022-22246 - Možnosť ľubovoľného spustenia lokálneho súboru PHP prostredníctvom manipulácie overeným používateľom skriptu jrest.php, v ktorom sa pomocou externých parametrov vytvorí názov súboru načítaného funkciou "require_once()" (napr. napríklad "/jrest.php?payload =alol/lol/any\..\..\..\..\any\file")

Zdroj: opennet.ru

Pridať komentár