I web-grensesnittet J-Web, som brukes i nettverksenheter fra Juniper med operativsystemet JunOS, er det oppdaget flere sårbarheter, hvorav den mest alvorlige (CVE-2022-22241) lar en bruker kjøre sin egen kode på systemet eksternt uten autentisering ved å sende en spesialformatert HTTP-forespørsel. Brukere av Juniper-utstyr anbefales å oppdatere fastvaren, og hvis dette ikke er mulig, sørge for at tilgang til web-grensesnittet er blokkert fra eksterne nettverk og kun begrenset til betrodde verter.
Sårbarheten ligger i at den filstien brukeren sender behandles i skriptet /jsdm/ajax/logging_browse.php uten filtrering av prefikset med innholdstype før autentisering. Angriperen kan sende en ondsinnet phar-fil som om den var et bilde og få utført PHP-kode plassert i phar-arkivet ved å bruke en 'Phar deserialization'-angrepsmetode (for eksempel ved å spesifisere i forespørselen 'filepath=phar:/path/pharfile.jpg').
Problemet er at ved kontroll av den opplastede filen ved hjelp av PHP-funksjonen is_dir(), utfører denne funksjonen automatisk deserialisering av metadataene fra Phar-arkivet (PHP Archive) når den behandler stier som starter med 'phar://'. En lignende effekt oppstår ved behandling av filstier sendt av brukeren i funksjonene file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() og filesize().
Angrepet kompliseres av at i tillegg til å initiere kjøringen av phar-arkivet, må angriperen finne en måte å laste det opp til enheten (gjennom tilgang til /jsdm/ajax/logging_browse.php kan man kun angi stien for å kjøre en allerede eksisterende fil). Mulige scenarier for å få filer på enheten inkluderer opplasting av phar-filen som om den var et bilde gjennom en bildefiloverføringstjeneste og substitusjon av filen i webinnholdscachen.
Andre sårbarheter:
- CVE-2022-22242 — substitusjon av ufiltrerte eksterne parametere i utskriften av skriptet error.php, som tillater angrepet av Cross-Site Scripting (XSS) og utføre vilkårlig JavaScript-kode i brukerens nettleser ved å klikke på en lenke (for eksempel 'https://JUNOS_IP/error.php?SERVER_NAME=<script>alert(0)</script>'). Sårbarheten kan brukes til å fange administratorens sesjonsparametere, dersom angriperen klarer å få administrator til å åpne en spesialformatert lenke.
- CVE-2022-22243, CVE-2022-22244 — substitusjon av XPATH-uttrykk via skriptene jsdm/ajax/wizards/setup/setup.php og /modules/monitor/interfaces/interface.php, gjør det mulig for en uprivilegert autentisert bruker å manipulere administratorøkter.
- CVE-2022-22245 — mangel på tilstrekkelig rensing av sekvensen «..» i stiene som behandles i skriptet Upload.php, lar en autentisert bruker laste opp sin PHP-fil til en katalog som tillater utføring av PHP-skript (for eksempel ved å sende stien «fileName=\..\..\..\..\www\dir\new\shell.php»).
- CVE-2022-22246 — mulighet for kjøring av vilkårlig lokal PHP-fil gjennom manipulasjon av en autentisert bruker med skriptet jrest.php, der eksterne parametre brukes til å danne filnavnet som lastes opp av funksjonen «require_once()» (for eksempel «/jrest.php?payload=alol/lol/any\..\..\..\..\any\file»)
Kilde: opennet.ru
