Vulnerabilità nell'interfaccia web dei dispositivi di rete Juniper forniti con JunOS

Sono state individuate diverse vulnerabilità nell'interfaccia web J-Web, utilizzata nei dispositivi di rete Juniper dotati del sistema operativo JunOS, la più pericolosa delle quali (CVE-2022-22241) consente di eseguire da remoto il codice nel sistema senza autenticazione inviando una richiesta HTTP appositamente progettata. Si consiglia agli utenti delle apparecchiature Juniper di installare gli aggiornamenti del firmware e, se ciò non è possibile, di assicurarsi che l'accesso all'interfaccia web sia bloccato da reti esterne e limitato solo a host fidati.

L'essenza della vulnerabilità è che il percorso del file passato dall'utente viene elaborato nello script /jsdm/ajax/logging_browse.php senza filtrare il prefisso con il tipo di contenuto nella fase prima del controllo dell'autenticazione. Un utente malintenzionato può trasmettere un file phar dannoso sotto le spoglie di un'immagine e ottenere l'esecuzione del codice PHP situato nell'archivio phar utilizzando il metodo di attacco "Deserializzazione Phar" (ad esempio, specificando "filepath=phar:/path/pharfile.jpg ” nella richiesta).

Il problema è che quando si controlla un file caricato utilizzando la funzione PHP is_dir(), questa funzione deserializza automaticamente i metadati dall'archivio Phar durante l'elaborazione dei percorsi che iniziano con "phar://". Un effetto simile si osserva durante l'elaborazione dei percorsi di file forniti dall'utente nelle funzioni file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() e filesize().

L'attacco è complicato dal fatto che oltre ad avviare l'esecuzione dell'archivio phar, l'attaccante deve trovare un modo per scaricarlo sul dispositivo (accedendo a /jsdm/ajax/logging_browse.php si può solo specificare il percorso eseguire un file già esistente). I possibili scenari in cui i file entrano nel dispositivo includono il download di un file phar camuffato da immagine tramite un servizio di trasferimento di immagini e la sostituzione del file nella cache dei contenuti web.

Altre vulnerabilità:

  • CVE-2022-22242 – sostituzione di parametri esterni non filtrati nell'output dello script error.php, che consente lo scripting tra siti e l'esecuzione di codice JavaScript arbitrario nel browser dell'utente quando si segue un collegamento (ad esempio, "https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) " La vulnerabilità potrebbe essere utilizzata per intercettare i parametri della sessione dell'amministratore se gli aggressori riescono a convincere l'amministratore ad aprire un collegamento appositamente progettato.
  • CVE-2022-22243, CVE-2022-22244 La sostituzione dell'espressione XPATH tramite gli script jsdm/ajax/wizards/setup/setup.php e /modules/monitor/interfaces/interface.php consente a un utente autenticato senza privilegi di manipolare le sessioni di amministrazione.
  • CVE-2022-22245 La mancanza di un'adeguata pulizia della sequenza ".." nei percorsi elaborati nello script Upload.php consente a un utente autenticato di caricare il proprio file PHP in una directory che consente l'esecuzione degli script PHP (ad esempio, passando il percorso "nomefile=\. .\..\..\..\www\dir\new\shell.php").
  • CVE-2022-22246 - Possibilità di esecuzione arbitraria di file PHP locali tramite manipolazione da parte di un utente autenticato dello script jrest.php, in cui parametri esterni vengono utilizzati per formare il nome del file caricato dalla funzione "require_once()" (per esempio, "/jrest.php?payload =alol/lol/any\..\..\..\..\any\file")

Fonte: opennet.ru

Aggiungi un commento