Vulnerabilidades na interface web de dispositivos de rede Juniper fornecidos com JunOS

Várias vulnerabilidades foram identificadas na interface web J-Web, que é usada em dispositivos de rede Juniper equipados com sistema operacional JunOS, a mais perigosa delas (CVE-2022-22241) permite executar remotamente seu código no sistema sem autenticação enviando uma solicitação HTTP especialmente projetada. Os usuários dos equipamentos Juniper são aconselhados a instalar atualizações de firmware e, caso isso não seja possível, garantir que o acesso à interface web esteja bloqueado em redes externas e limitado apenas a hosts confiáveis.

A essência da vulnerabilidade é que o caminho do arquivo passado pelo usuário é processado no script /jsdm/ajax/logging_browse.php sem filtrar o prefixo com o tipo de conteúdo no estágio anterior à verificação de autenticação. Um invasor pode transmitir um arquivo phar malicioso sob o disfarce de uma imagem e executar o código PHP localizado no arquivo phar usando o método de ataque “desserialização de Phar” (por exemplo, especificando “filepath=phar:/path/pharfile.jpg ”na solicitação).

O problema é que ao verificar um arquivo carregado usando a função PHP is_dir(), esta função desserializa automaticamente os metadados do Phar Archive ao processar caminhos que começam com “phar://”. Um efeito semelhante é observado ao processar caminhos de arquivo fornecidos pelo usuário nas funções file_get_contents(), fopen(), file(), file_exists(), md5_file(), filemtime() e filesize().

O ataque é complicado pelo fato de que além de iniciar a execução do arquivo phar, o invasor deve encontrar uma maneira de baixá-lo para o dispositivo (acessando /jsdm/ajax/logging_browse.php, você só pode especificar o caminho para executar um arquivo já existente). Os cenários possíveis para a entrada de arquivos no dispositivo incluem o download de um arquivo phar disfarçado de imagem por meio de um serviço de transferência de imagens e a substituição do arquivo no cache de conteúdo da web.

Outras vulnerabilidades:

  • CVE-2022-22242 – substituição de parâmetros externos não filtrados na saída do script error.php, que permite cross-site scripting e execução de código JavaScript arbitrário no navegador do usuário ao seguir um link (por exemplo, “https:// JUNOS_IP/error.php?SERVER_NAME= alert(0) " A vulnerabilidade pode ser usada para interceptar parâmetros de sessão do administrador se os invasores conseguirem fazer com que o administrador abra um link especialmente projetado.
  • CVE-2022-22243, CVE-2022-22244 A substituição de expressão XPATH por meio dos scripts jsdm/ajax/wizards/setup/setup.php e /modules/monitor/interfaces/interface.php permite que um usuário autenticado sem privilégios manipule sessões administrativas.
  • CVE-2022-22245 A falta de higienização adequada da sequência ".." nos caminhos processados ​​no script Upload.php permite que um usuário autenticado carregue seu arquivo PHP em um diretório que permite a execução de scripts PHP (por exemplo, passando o caminho "fileName=\. .\..\..\..\www\dir\new\shell.php").
  • CVE-2022-22246 - Possibilidade de execução arbitrária de arquivo PHP local via manipulação por usuário autenticado do script jrest.php, no qual são utilizados parâmetros externos para formar o nome do arquivo carregado pela função "require_once()" (para exemplo, "/jrest.php?payload=alol/lol/any\..\..\..\..\any\file")

Fonte: opennet.ru

Adicionar um comentário