I webgrænsefladen J-Web, der bruges i netværksenheder fra Juniper, der er udstyret med operativsystemet JunOS, er der fundet flere sårbarheder, hvoraf den mest alvorlige (CVE-2022-22241) muliggør, at en angriber kan køre sin kode fjern uden autentificering ved at sende en specielt formateret HTTP-anmodning. Brugere af Juniper-udstyr anbefales at installere firmwareopdateringen, og hvis det ikke er muligt, bør adgangen til webgrænsefladen blokeres fra eksterne netværk og begrænses til betroede værter.
Sårbarhedens essens er, at den filsti, som brugeren sender, behandles i scriptet /jsdm/ajax/logging_browse.php uden at filtrere indholdstypepræfikset før autentificeringskontrollen. En angriber kan sende en ondsindet phar-fil som om det var et billede og få udført PHP-kode i det uploadede phar-arkiv ved at anvende angrebsmetoden "Phar deserialization" (for eksempel ved at specificere "filepath=phar:/sti/pharfile.jpg" i anmodningen).
Problemet er, at når den uploadede fil kontrolleres ved hjælp af PHP-funktionen is_dir(), udfører denne funktion automatisk deserialisering af metadata fra phar-arkivet (PHP Archive), når den behandler stier, der begynder med "phar://". En tilsvarende effekt observeres når brugerdefinerede filstier behandles i funktioner som file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() og filesize().
Angrebet kompliceres af, at ud over at initiere udførelsen af phar-arkivet, skal den ondsindede finde en måde at overføre det til enheden (ved at tilgå /jsdm/ajax/logging_browse.php kan man kun angive stien for at udføre allerede eksisterende filer). Mulige scenarier for at få filer på enheden omfatter at uploade en phar-fil som et billede via en billedoverførselstjeneste og indsætte filen i webindholdets cache.
Andre sårbarheder:
- CVE-2022-22242 — indsprøjtning af ufiltrerede eksterne parametre i outputtet af scriptet error.php, hvilket muliggør cross-site scripting og udførelse af vilkårlig JavaScript-kode i brugerens browser ved at følge et link (for eksempel "https://JUNOS_IP/error.php?SERVER_NAME="). Sårbarheden kan udnyttes til at opsnappe administratorens session parametre, hvis angriberen lykkes med at få administratoren til at åbne et specielt designet link.
- CVE-2022-22243, CVE-2022-22244 — udskiftning af XPATH-udtryk via scripts jsdm/ajax/wizards/setup/setup.php og /modules/monitor/interfaces/interface.php, hvilket tillader en ikke-privilegeret autentificeret bruger at manipulere administratorens sessioner.
- CVE-2022-22245 — mangel på korrekt rensning af sekvensen «..» i stier, der behandles i scriptet Upload.php, tillader en autentificeret bruger at uploade sin PHP-fil til en katalog, der tillader udførelse af PHP-scripts (for eksempel ved at sende stien «fileName=\..\..\..\..\www\dir\new\shell.php»).
- CVE-2022-22246 — muligheden for at udføre vilkårlig lokal PHP-fil gennem manipulationer fra en autentificeret bruger med scriptet jrest.php, hvor eksterne parametre bruges til at danne filnavnet, der indlæses af funktionen «require_once()» (for eksempel «/jrest.php?payload=alol/lol/any\..\..\..\..\any\file»)
Kilde: opennet.ru
