JunOS:n mukana toimitettujen Juniper-verkkolaitteiden verkkokäyttöliittymän haavoittuvuudet

JunOS-käyttöjärjestelmällä varustetuissa Juniper-verkkolaitteissa käytetystä J-Web-verkkoliittymästä on tunnistettu useita haavoittuvuuksia, joista vaarallisin (CVE-2022-22241) mahdollistaa koodin etäsuorittamisen järjestelmässä ilman todennus lähettämällä erityisesti suunniteltu HTTP-pyyntö. Juniper-laitteiden käyttäjiä kehotetaan asentamaan laiteohjelmistopäivitykset, ja jos tämä ei ole mahdollista, varmista, että pääsy verkkoliittymään on estetty ulkoisista verkoista ja rajoitettu vain luotetuille isäntäkoneille.

Haavoittuvuuden ydin on, että käyttäjän välittämä tiedostopolku käsitellään /jsdm/ajax/logging_browse.php-komentosarjassa ilman, että etuliitettä suodatetaan sisältötyypin kanssa vaiheessa ennen todennuksen tarkistusta. Hyökkääjä voi lähettää haitallisen phar-tiedoston kuvan varjolla ja suorittaa phar-arkistossa olevan PHP-koodin käyttämällä "Phar deserialization" -hyökkäysmenetelmää (esimerkiksi määrittämällä "filepath=phar:/path/pharfile.jpg" ”pyynnössä).

Ongelmana on, että kun tarkistetaan ladattua tiedostoa PHP-funktiolla is_dir(), tämä funktio deserialisoi automaattisesti Phar-arkiston metatiedot käsitellessään "phar://"-alkuisia polkuja. Samanlainen vaikutus havaitaan käsiteltäessä käyttäjän toimittamia tiedostopolkuja file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() ja filesize()-funktioissa.

Hyökkäystä mutkistaa se, että phar-arkiston suorittamisen käynnistämisen lisäksi hyökkääjän on löydettävä tapa ladata se laitteelle (osoitteella /jsdm/ajax/logging_browse.php voit määrittää vain polun suorittaa jo olemassa oleva tiedosto). Mahdollisia skenaarioita tiedostojen päätymiselle laitteelle ovat kuvaksi naamioituneen phar-tiedoston lataaminen kuvansiirtopalvelun kautta ja tiedoston korvaaminen verkkosisällön välimuistissa.

Muut haavoittuvuudet:

  • CVE-2022-22242 – suodattamattomien ulkoisten parametrien korvaaminen error.php-komentosarjan lähdössä, mikä mahdollistaa sivustojen välisen komentosarjan ja mielivaltaisen JavaScript-koodin suorittamisen käyttäjän selaimessa linkkiä seuraaessa (esim. https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) " Haavoittuvuutta voidaan käyttää järjestelmänvalvojan istunnon parametrien sieppaamiseen, jos hyökkääjät onnistuvat saamaan järjestelmänvalvojan avaamaan erityisesti suunnitellun linkin.
  • CVE-2022-22243, CVE-2022-22244 XPATH-lausekkeen korvaaminen jsdm/ajax/wizards/setup/setup/setup.php- ja /modules/monitor/interfaces/interface.php-komentosarjojen kautta antaa etuoikeutetulle todennettulle käyttäjälle mahdollisuuden käsitellä järjestelmänvalvojan istuntoja.
  • CVE-2022-22245 ".."-sekvenssin kunnollisen puhdistamisen puute Upload.php-komentosarjassa käsitellyissä poluissa antaa autentikoidulle käyttäjälle mahdollisuuden ladata PHP-tiedostonsa hakemistoon, joka mahdollistaa PHP-komentosarjojen suorittamisen (esimerkiksi ohittamalla polku "tiedostonimi=\. .\...\..\..\www\dir\new\shell.php").
  • CVE-2022-22246 - Mahdollisuus mielivaltaisen paikallisen PHP-tiedoston suorittamiseen jrest.php-komentosarjan todennetun käyttäjän manipuloimalla, jolloin ulkoisia parametreja käytetään muodostamaan "require_once()"-funktion lataaman tiedoston nimi (esim. esimerkiksi "/jrest.php?payload =alol/lol/any\..\..\..\..\any\file")

Lähde: opennet.ru

Lisää kommentti