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

Nell'interfaccia web J-Web, utilizzata nei dispositivi di rete di Juniper equipaggiati con il sistema operativo JunOS, sono state scoperte diverse vulnerabilità, la più pericolosa delle quali (CVE-2022-22241) consente di eseguire codice arbitrario nel sistema da remoto senza autenticazione, tramite l'invio di una richiesta HTTP appositamente formattata. Si raccomanda agli utenti delle apparecchiature Juniper di installare un aggiornamento del firmware e, nel caso ciò non fosse possibile, di garantire che l'accesso all'interfaccia web sia bloccato dalle reti esterne e limitato solo ad host affidabili.

La vulnerabilità consiste nel fatto che il percorso del file fornito dall'utente viene elaborato nello script /jsdm/ajax/logging_browse.php senza una filtrazione del prefisso relativo al tipo di contenuto prima della verifica dell'autenticazione. Un attaccante può inviare un file phar nocivo spacciandolo per un'immagine e ottenere l'esecuzione del codice PHP contenuto nel file phar, utilizzando il metodo di attacco "Phar deserialization" (ad esempio, specificando nella richiesta "filepath=phar:/percorso/pharfile.jpg").

Il problema è che quando si verifica un file caricato utilizzando la funzione PHP is_dir(), questa funzione esegue automaticamente la deserializzazione dei metadati dall'archivio Phar (PHP Archive) durante l'elaborazione dei percorsi che iniziano con "phar://". Un effetto simile si osserva anche nella gestione dei percorsi dei 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 a innescare l'esecuzione dell'archivio phar, l'attaccante deve trovare un modo per caricarlo sul dispositivo (accedendo a /jsdm/ajax/logging_browse.php è possibile solo specificare un percorso per eseguire un file già esistente). Tra gli scenari possibili per il caricamento dei file sul dispositivo, si menzionano il caricamento di un file phar spacciato per un'immagine tramite un servizio di condivisione di immagini e l'inserimento del file nella cache dei contenuti web.

Altre vulnerabilità:

  • CVE-2022-22242 — l'inserimento di parametri esterni non filtrati nell'output dello script error.php consente di ottenere un attacco Cross-Site Scripting (XSS) e di eseguire codice JavaScript arbitrario nel browser dell'utente tramite un link (ad esempio, «https://JUNOS_IP/error.php?SERVER_NAME=». La vulnerabilità può essere utilizzata per intercettare i parametri di sessione dell'amministratore, se l'attaccante riesce a far aprire all'amministratore un link appositamente formattato.
  • CVE-2022-22243, CVE-2022-22244 — l'inserimento di espressioni XPATH tramite gli script jsdm/ajax/wizards/setup/setup.php e /modules/monitor/interfaces/interface.php consente a un utente autenticato non privilegiato di manipolare le sessioni dell'amministratore.
  • CVE-2022-22245 — la mancanza di una pulizia adeguata 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 di script PHP (ad esempio, passando il percorso «fileName=\..\..\..\..\www\dir\new\shell.php»).
  • CVE-2022-22246 — possibilità di eseguire un file PHP locale arbitrario attraverso le manipolazioni di un utente autenticato con lo script jrest.php, nel quale i parametri esterni sono utilizzati per formare il nome del file caricato dalla funzione «require_once()» (ad esempio, «/jrest.php?payload=alol/lol/any\..\..\..\..\any\file»)

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster