Luki w interfejsie webowym urządzeń sieciowych Juniper dostarczanych z JunOS.

W interfejsie webowym J-Web, wykorzystywanym w urządzeniach sieciowych firmy Juniper z systemem operacyjnym JunOS, wykryto kilka podatności, z których najbardziej niebezpieczna (CVE-2022-22241) umożliwia zdalne wykonanie kodu w systemie bez autoryzacji poprzez wysłanie specjalnie sformułowanego żądania HTTP. Użytkownikom sprzętu Juniper zaleca się zainstalowanie aktualizacji oprogramowania, a jeśli to niemożliwe, upewnienie się, że dostęp do interfejsu webowego jest zablokowany z zewnętrznych sieci i ograniczony tylko do zaufanych hostów.

Istota podatności polega na tym, że ścieżka pliku przesyłana przez użytkownika jest przetwarzana w skrypcie /jsdm/ajax/logging_browse.php bez filtracji prefiksu z typem zawartości na etapie przed autoryzacją. Atakujący może przesłać złośliwy plik phar pod pozorem obrazu i doprowadzić do wykonania umieszczonego w archiwum phar kodu PHP, wykorzystując metodę ataku „deserializacja Phar” (na przykład, wskazując w żądaniu „filepath=phar:/ścieżka/pharfile.jpg”).

Problem polega na tym, że podczas weryfikacji przesłanego pliku za pomocą funkcji PHP is_dir(), ta funkcja automatycznie wykonuje deserializację metadanych z archiwum Phar (PHP Archive) przy przetwarzaniu ścieżek zaczynających się od „phar://”. Podobny efekt występuje podczas przetwarzania przesłanych przez użytkownika ścieżek plików w funkcjach file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() i filesize().

Atak komplikuje fakt, że oprócz inicjowania wykonania archiwum phar, napastnik musi znaleźć sposób na jego załadowanie na urządzenie (poprzez wywołanie /jsdm/ajax/logging_browse.php można jedynie określić ścieżkę do wykonania już istniejącego pliku). Wśród możliwych scenariuszy wprowadzenia plików na urządzenie wymieniono przesłanie pliku phar pod pozorem obrazu przez serwis przesyłania obrazów oraz wstawienie pliku do pamięci podręcznej treści webowych.

Inne podatności:

  • CVE-2022-22242 — wstawienie nieprzefiltrowanych zewnętrznych parametrów do wyjścia skryptu error.php, co pozwala na przeprowadzenie ataku typu cross-site scripting i wykonanie w przeglądarce użytkownika dowolnego kodu JavaScript przy przejściu do linku (na przykład „https://JUNOS_IP/error.php?SERVER_NAME=<script>alert(0)<\/script>”). Podatność ta może być wykorzystywana do przechwytywania parametrów sesji administratora, jeśli atakującemu uda się otworzyć specjalnie sformułowany link przez administratora.
  • CVE-2022-22243, CVE-2022-22244 — możliwość manipulacji wyrażeniami XPATH przez skrypty jsdm/ajax/wizards/setup/setup.php oraz /modules/monitor/interfaces/interface.php, co pozwala na manipulację sesjami administratora przez nieuprzywilejowanego, autoryzowanego użytkownika.
  • CVE-2022-22245 — brak odpowiedniego oczyszczania sekwencji «..» w ścieżkach przetwarzanych w skrypcie Upload.php pozwala autoryzowanemu użytkownikowi na przesłanie własnego pliku PHP do katalogu, w którym dozwolone jest wykonywanie skryptów PHP (na przykład, przekazując ścieżkę «fileName=\..\..\..\..\www\dir\new\shell.php»).
  • CVE-2022-22246 — możliwość wykonania lokalnego pliku PHP przez manipulację autoryzowanego użytkownika ze skryptem jrest.php, w którym zewnętrzne parametry są używane do formowania nazwy pliku ładowanego przez funkcję «require_once()» (na przykład, «/jrest.php?payload=alol/lol/any\..\..\..\..\any\file»).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster