Vulnerabilități în interfața web a dispozitivelor de rețea Juniper livrate cu JunOS

Au fost identificate mai multe vulnerabilități în interfața web J-Web, care este utilizată în dispozitivele de rețea Juniper echipate cu sistemul de operare JunOS, dintre care cea mai periculoasă (CVE-2022-22241) vă permite să executați codul de la distanță în sistem fără autentificare prin trimiterea unei cereri HTTP special concepute. Utilizatorii echipamentelor Juniper sunt sfătuiți să instaleze actualizări de firmware și, dacă acest lucru nu este posibil, să se asigure că accesul la interfața web este blocat din rețelele externe și limitat doar la gazde de încredere.

Esența vulnerabilității este că calea fișierului transmisă de utilizator este procesată în scriptul /jsdm/ajax/logging_browse.php fără a filtra prefixul cu tipul de conținut în etapa înainte de verificarea autentificării. Un atacator poate transmite un fișier phar rău intenționat sub masca unei imagini și poate realiza execuția codului PHP aflat în arhiva phar folosind metoda de atac „Phar deserialization” (de exemplu, specificând „filepath=phar:/path/pharfile.jpg ” în cerere).

Problema este că atunci când se verifică un fișier încărcat folosind funcția PHP is_dir(), această funcție deserializează automat metadatele din Arhiva Phar atunci când procesează căi care încep cu „phar://”. Un efect similar este observat la procesarea căilor de fișiere furnizate de utilizator în funcțiile file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() și filesize().

Atacul este complicat de faptul că, pe lângă inițierea execuției arhivei phar, atacatorul trebuie să găsească o modalitate de a o descărca pe dispozitiv (accesând /jsdm/ajax/logging_browse.php, puteți specifica doar calea către executa un fișier deja existent). Scenariile posibile pentru fișierele care ajung pe dispozitiv includ descărcarea unui fișier phar deghizat ca imagine printr-un serviciu de transfer de imagini și înlocuirea fișierului în memoria cache a conținutului web.

Alte vulnerabilitati:

  • CVE-2022-22242 – înlocuirea parametrilor externi nefiltrați în ieșirea script-ului error.php, care permite scriptarea pe mai multe site-uri și executarea unui cod JavaScript arbitrar în browserul utilizatorului atunci când urmărește un link (de exemplu, „https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) " Vulnerabilitatea ar putea fi folosită pentru a intercepta parametrii sesiunii de administrator dacă atacatorii reușesc să-l determine pe administrator să deschidă o legătură special concepută.
  • Substituția expresiei CVE-2022-22243, CVE-2022-22244 XPATH prin scripturile jsdm/ajax/wizards/setup/setup.php și /modules/monitor/interfaces/interface.php permite unui utilizator autentificat neprivilegiat să manipuleze sesiunile de administrare.
  • CVE-2022-22245 Lipsa igienizării corespunzătoare a secvenței „..” în căile procesate în scriptul Upload.php permite unui utilizator autentificat să-și încarce fișierul PHP într-un director care permite executarea scripturilor PHP (de exemplu, prin trecerea calea „fileName=\. .\..\..\..\www\dir\new\shell.php”).
  • CVE-2022-22246 - Posibilitatea executării arbitrare a fișierului PHP local prin manipularea de către un utilizator autentificat al scriptului jrest.php, în care parametrii externi sunt utilizați pentru a forma numele fișierului încărcat de funcția „require_once()” (pentru exemplu, „/jrest.php?payload =alol/lol/any\..\..\..\..\any\file”)

Sursa: opennet.ru

Adauga un comentariu