Vulnerabilidades en la interfaz web de los dispositivos de red Juniper enviados con JunOS

Se han identificado varias vulnerabilidades en la interfaz web J-Web, que se utiliza en dispositivos de red Juniper equipados con el sistema operativo JunOS, la más peligrosa de las cuales (CVE-2022-22241) le permite ejecutar de forma remota su código en el sistema sin autenticación mediante el envío de una solicitud HTTP especialmente diseñada. Se recomienda a los usuarios de equipos Juniper que instalen una actualización de firmware y, si esto no es posible, asegúrese de que el acceso a la interfaz web esté bloqueado desde redes externas y limitado solo a hosts de confianza.

La esencia de la vulnerabilidad es que la ruta del archivo que pasa el usuario se procesa en el script /jsdm/ajax/logging_browse.php sin filtrar el prefijo con el tipo de contenido en la etapa anterior a la verificación de autenticación. Un atacante puede transferir un archivo phar malicioso bajo la apariencia de una imagen y lograr la ejecución del código PHP colocado en el archivo phar usando el método de ataque "Deserialización de Phar" (por ejemplo, especificando "filepath=phar:/path/pharfile .jpg” en la solicitud).

El problema es que al verificar un archivo cargado con la función is_dir() de PHP, esta función deserializa automáticamente los metadatos del Archivo Phar (Archivo PHP) al procesar rutas que comienzan con "phar://". Se observa un efecto similar cuando se procesan rutas de archivo proporcionadas por el usuario en las funciones file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() y tamaño de archivo().

El ataque se complica por el hecho de que, además de iniciar la ejecución de un archivo phar, el atacante debe encontrar una forma de descargarlo en el dispositivo (al acceder a /jsdm/ajax/logging_browse.php, solo puede especificar la ruta para ejecutar un archivo existente). De los posibles escenarios para que los archivos lleguen al dispositivo, se menciona la carga de un archivo phar bajo la apariencia de una imagen a través de un servicio de transferencia de imágenes y la sustitución del archivo en la memoria caché de contenido web.

Otras vulnerabilidades:

  • CVE-2022-22242: Sustitución de parámetros externos sin filtrar en la salida del script error.php, lo que permite la creación de scripts entre sitios y la ejecución de código JavaScript arbitrario en el navegador del usuario al hacer clic en el enlace (por ejemplo, "https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) ". La vulnerabilidad podría usarse para interceptar los parámetros de la sesión del administrador si un atacante logra que el administrador abra un enlace especialmente diseñado.
  • CVE-2022-22243, СVE-2022-22244: la sustitución de la expresión XPATH a través de los scripts jsdm/ajax/wizards/setup/setup.php y /modules/monitor/interfaces/interface.php permite que un usuario autenticado sin privilegios manipule las sesiones del administrador.
  • CVE-2022-22245: si no se limpia correctamente la secuencia ".." en las rutas procesadas en el script Upload.php, un usuario autenticado puede cargar su archivo PHP en un directorio que permite la ejecución de scripts PHP (por ejemplo, mediante pasando la ruta "fileName=\. .\..\..\..\www\dir\new\shell.php").
  • CVE-2022-22246: capacidad para ejecutar un archivo PHP local arbitrario mediante la manipulación por parte de un usuario autenticado del script jrest.php, en el que se usan parámetros externos para formar el nombre del archivo cargado por la función "require_once ()" ( por ejemplo, "/jrest.php? payload =alol/lol/any\..\..\..\..\any\file")

Fuente: opennet.ru

Añadir un comentario