Vulnérabilités dans l'interface web des dispositifs réseau Juniper, livrés avec JunOS

Dans l'interface web J-Web, utilisĂ©e sur les dispositifs rĂ©seau de la sociĂ©tĂ© Juniper Ă©quipĂ©s du systĂšme d'exploitation JunOS, plusieurs vulnĂ©rabilitĂ©s ont Ă©tĂ© identifiĂ©es, dont la plus dangereuse (CVE-2022-22241) permet d'exĂ©cuter du code Ă  distance sans authentification en envoyant une requĂȘte HTTP spĂ©cialement conçue. Les utilisateurs des Ă©quipements Juniper sont invitĂ©s Ă  mettre Ă  jour le firmware, et si cela n'est pas possible, Ă  s'assurer que l'accĂšs Ă  l'interface web est bloquĂ© depuis les rĂ©seaux externes et limitĂ© uniquement aux hĂŽtes de confiance.

La vulnĂ©rabilitĂ© rĂ©side dans le fait que le chemin de fichier transmis par l'utilisateur est traitĂ© dans le script /jsdm/ajax/logging_browse.php sans filtration du prĂ©fixe du type de contenu avant la vĂ©rification de l'authentification. L'attaquant peut transmettre un fichier phar malveillant sous prĂ©texte d'image, et rĂ©aliser l'exĂ©cution de code PHP placĂ© dans l'archive phar, en utilisant une mĂ©thode d'attaque de « dĂ©sĂ©rialisation Phar » (par exemple, en spĂ©cifiant dans la requĂȘte « filepath=phar:/chemin/pharfile.jpg »).

Le problÚme réside dans le fait que lors de la vérification du fichier téléchargé à l'aide de la fonction PHP is_dir(), cette fonction désérialise automatiquement les métadonnées de l'archive Phar (PHP Archive) lors du traitement des chemins commençant par « phar:// ». Un effet similaire est observé lors du traitement des chemins de fichiers transmis 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 d'initier l'exécution de l'archive phar, l'attaquant doit trouver un moyen de la télécharger sur le dispositif (par l'accÚs à /jsdm/ajax/logging_browse.php, on ne peut que spécifier le chemin pour exécuter un fichier déjà existant). Parmi les scénarios possibles pour le transfert de fichiers sur le dispositif, on évoque le chargement d'un fichier phar sous prétexte d'image via un service de transfert d'images et l'injection d'un fichier dans le cache du contenu web.

Autres vulnérabilités :

  • CVE-2022-22242 — injection de paramĂštres externes non filtrĂ©s dans la sortie du script error.php, permettant d'atteindre le script intersite et d'exĂ©cuter du code JavaScript arbitraire dans le navigateur de l'utilisateur en cliquant sur un lien (par exemple, « https://JUNOS_IP/error.php?SERVER_NAME= ». Cette vulnĂ©rabilitĂ© peut ĂȘtre exploitĂ©e pour intercepter les paramĂštres de session de l'administrateur, si l'attaquant rĂ©ussit Ă  amener l'administrateur Ă  ouvrir un lien spĂ©cialement formatĂ©.
  • CVE-2022-22243, CVE-2022-22244 — l'injection d'expressions XPATH via les scripts jsdm/ajax/wizards/setup/setup.php et /modules/monitor/interfaces/interface.php permet Ă  un utilisateur authentifiĂ© sans privilĂšges de manipuler les sessions administratives.
  • CVE-2022-22245 — l'absence de nettoyage appropriĂ© des sĂ©quences «..» dans les chemins traitĂ©s par le script Upload.php permet Ă  un utilisateur authentifiĂ© de tĂ©lĂ©charger son fichier PHP dans un rĂ©pertoire autorisant l'exĂ©cution de scripts PHP (par exemple, en transmettant le chemin «fileName=\..\..\..\..\www\dir\new\shell.php»).
  • CVE-2022-22246 — la possibilitĂ© d'exĂ©cuter un fichier PHP local arbitraire via des manipulations d'un utilisateur authentifiĂ© avec le script jrest.php, oĂč 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

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster