Vulnérabilités dans l'interface Web des périphériques réseau Juniper livrés avec JunOS

Plusieurs vulnérabilités ont été identifiées dans l'interface Web J-Web, qui est utilisée dans les périphériques réseau Juniper équipés du système d'exploitation JunOS, dont la plus dangereuse (CVE-2022-22241) vous permet d'exécuter à distance votre code dans le système sans l'authentification en envoyant une requête HTTP spécialement conçue. Il est conseillé aux utilisateurs d'équipements Juniper d'installer une mise à jour du micrologiciel et, si cela n'est pas possible, de s'assurer que l'accès à l'interface Web est bloqué depuis les réseaux externes et limité aux hôtes de confiance uniquement.

L'essence de la vulnérabilité est que le chemin du fichier transmis par l'utilisateur est traité dans le script /jsdm/ajax/logging_browse.php sans filtrer le préfixe avec le type de contenu à l'étape précédant la vérification de l'authentification. Un attaquant peut transférer un fichier phar illicite sous couvert d'une image et provoquer l'exécution du code PHP placé dans l'archive phar en utilisant la méthode d'attaque « Phar deserialization » (par exemple, en spécifiant « filepath=phar:/path/pharfile .jpg » dans la demande).

Le problème est que lors de la vérification d'un fichier téléchargé avec la fonction is_dir() de PHP, cette fonction désérialise automatiquement les métadonnées de l'archive Phar (archive PHP) lors du traitement des chemins commençant par "phar://". Un effet similaire est observé lors du traitement des chemins de fichiers fournis par l'utilisateur dans les fonctions file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() et filesize().

L'attaque est compliquée par le fait qu'en plus de lancer l'exécution d'une archive phar, l'attaquant doit trouver un moyen de la télécharger sur l'appareil (en accédant à /jsdm/ajax/logging_browse.php, vous ne pouvez spécifier que le chemin pour l'exécution d'un fichier existant). Parmi les scénarios possibles pour les fichiers entrant sur l'appareil, le chargement d'un fichier phar sous le couvert d'une image via un service de transfert d'image et la substitution du fichier dans le cache de contenu Web sont mentionnés.

Autres vulnérabilités :

  • CVE-2022-22242 - Substitution de paramètres externes non filtrés dans la sortie du script error.php, permettant le script intersite et l'exécution de code JavaScript arbitraire dans le navigateur de l'utilisateur lorsqu'il clique sur le lien (par exemple, "https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) ". La vulnérabilité pourrait être utilisée pour intercepter les paramètres de session de l'administrateur si un attaquant réussissait à amener l'administrateur à ouvrir un lien spécialement conçu.
  • CVE-2022-22243, СVE-2022-22244 - La substitution d'expression XPATH via les scripts jsdm/ajax/wizards/setup/setup.php et /modules/monitor/interfaces/interface.php, permet à un utilisateur authentifié non privilégié de manipuler les sessions administrateur.
  • CVE-2022-22245 - Le fait de ne pas nettoyer correctement la séquence ".." dans les chemins traités dans le script Upload.php permet à un utilisateur authentifié de télécharger son fichier PHP dans un répertoire permettant l'exécution de scripts PHP (par exemple, en en passant le chemin "fileName=\. .\..\..\..\www\dir\new\shell.php").
  • CVE-2022-22246 - Possibilité d'exécuter un fichier PHP local arbitraire par manipulation par un utilisateur authentifié du script jrest.php, dans lequel des paramètres externes sont utilisés pour former le nom du fichier chargé par la fonction "require_once()" ( par exemple, "/jrest.php? payload =alol/lol/any\..\..\..\..\any\file")

Source: opennet.ru

Ajouter un commentaire