← volver
CVE-2023-36847mediumbajo ataqueCWE-306

Junos OS: EX Series: A vulnerability in J-Web allows an unauthenticated attacker to upload arbitrary files

85Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 5.3epss 85%
de la publicación al arma8 días
Publicada en NVD17 ago
1ª PoC+8d
CISA KEV+88d
probabilidad de explotación
85%top 1% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2023-11-17

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Resumen

Falha de ausência de autenticação (CWE-306) na interface web de administração J-Web dos switches Juniper EX Series, que permite a um atacante não autenticado enviar um arquivo arbitrário ao endpoint installAppPackage.php. Isoladamente o CVSS é baixo (5.3, apenas impacto de integridade), mas essa CVE faz parte de um conjunto de quatro falhas em J-Web (CVE-2023-36844/36845/36846/36847) que, encadeadas, permitem execução remota de código pré-autenticação — por isso está na KEV da CISA e tem exploração ativa confirmada.

Detalle técnico

O ponto vulnerável é o script installAppPackage.php, parte do backend PHP do J-Web, responsável por receber pacotes de aplicação para instalação no dispositivo. Esse script processa requisições de upload sem exigir sessão autenticada, violando o controle de acesso esperado para uma função crítica do sistema (CWE-306, Missing Authentication for Critical Function). O atacante controla o conteúdo do arquivo enviado e, dentro de certos limites, o local no sistema de arquivos onde ele é gravado.

O advisory da Juniper (JSA72300, publicado como boletim fora de ciclo) agrupa essa falha com outras três: CVE-2023-36844 e CVE-2023-36845 tratam de manipulação de variáveis de ambiente do PHP sem autenticação (CWE-473, PHP External Variable Modification), e CVE-2023-36846 é o equivalente desta falha para a linha SRX Series. Individualmente, cada uma tem impacto restrito — só integridade, sem confidencialidade ou disponibilidade diretas, conforme o vetor CVSS (C:N/I:L/A:N).

O risco real está no encadeamento: uma das falhas de manipulação de variáveis de ambiente permite influenciar como o interpretador PHP do J-Web processa requisições subsequentes; combinada com a capacidade de gravar um arquivo arbitrário via installAppPackage.php, o atacante consegue fazer o servidor executar código sob seu controle. Isso eleva o conjunto de quatro vulnerabilidades de baixo/médio para execução remota de código pré-autenticação, apesar de cada CVE isolada ter score CVSS moderado.

Cómo se explota

O vetor é de rede, sem exigir autenticação nem interação do usuário (AV:N/AC:L/PR:N/UI:N). O único pré-requisito real é que o serviço J-Web esteja habilitado e acessível ao atacante — em muitos ambientes de produção J-Web é desativado ou restrito a uma interface de gerência isolada, o que reduz a superfície de exposição real frente à gravidade da manchete. Onde J-Web está exposto (inclusive, em casos documentados publicamente, à internet), o ataque consiste em uma requisição HTTP/HTTPS direcionada ao endpoint installAppPackage.php, sem precisar de credenciais.

Existe PoC pública e a CVE está na KEV da CISA, indicando exploração confirmada em campo, tipicamente como parte da cadeia completa com as outras três CVEs do mesmo boletim para obter RCE, e não apenas o upload isolado. Pesquisadores de segurança documentaram e reproduziram publicamente o encadeamento das quatro falhas para comprometimento total do dispositivo — a Juniper reconhece isso na própria descrição ('may allow chaining to other vulnerabilities').

O impacto final documentado pelo fornecedor para esta CVE isolada é gravação de arquivo em parte do sistema de arquivos; o impacto documentado para a cadeia completa é execução de código arbitrário no dispositivo, o que em um switch EX Series significa controle da infraestrutura de rede subjacente.

Versiones

Afectadas
Junos OS em EX Series: todas as versões anteriores a 20.4R3-S8; 21.1R1 e posteriores da série 21.1; 21.2 anteriores a 21.2R3-S6; 21.3 anteriores a 21.3R3-S5; 21.4 anteriores a 21.4R3-S4; 22.1 anteriores a 22.1R3-S3; 22.2 anteriores a 22.2R3-S1; 22.3 anteriores a 22.3R2-S2 e 22.3R3; 22.4 anteriores a 22.4R2-S1 e 22.4R3.
Corregidas en
20.4R3-S8; 21.2R3-S6; 21.3R3-S5; 21.4R3-S4; 22.1R3-S3; 22.2R3-S1; 22.3R2-S2 (ou 22.3R3); 22.4R2-S1 (ou 22.4R3), e versões posteriores nos respectivos ramos, conforme boletim JSA72300 da Juniper.

Cómo protegerse

A correção definitiva é atualizar para a versão do Junos OS correspondente ao ramo em uso, conforme a lista de versões corrigidas publicada pela Juniper. Não existe patch isolado só para esta CVE — as correções cobrem o conjunto das quatro vulnerabilidades J-Web do mesmo boletim.

Se a atualização não for viável imediatamente, o paliativo recomendado pela própria Juniper e refletido na KEV é desabilitar o J-Web (serviço de gerência web) ou restringir seu acesso apenas a hosts de gerência confiáveis via firewall filters/ACLs de gerência — isso elimina a superfície de rede necessária para o ataque, ao custo de perder a interface gráfica de administração. Não confiar apenas em autenticação de rede perimetral genérica como mitigação: a falha está na ausência de autenticação da própria aplicação, não em um controle de rede que um firewall corporativo padrão necessariamente cubra, a menos que explicitamente configurado para restringir o acesso ao J-Web.

Dado o status de exploração ativa (KEV) e a prioridade de correção definida pela CISA (prazo de 2023-11-17 para órgãos federais dos EUA), o tratamento recomendado é tratar como urgente mesmo com CVSS moderado, priorizando dispositivos com J-Web exposto à internet ou a redes não confiáveis.

Cómo detectar

Verificar logs do servidor web do J-Web (processo lighttpd/nginx e logs de PHP no dispositivo) por requisições POST ao endpoint installAppPackage.php originadas de endereços IP não pertencentes à rede de gerência esperada, especialmente sem sessão/cookie de autenticação válido previamente estabelecido. Presença de arquivos inesperados em diretórios temporários usados pelo instalador de pacotes de aplicação do J-Web é indício de exploração bem-sucedida.

Não há assinatura única confiável para toda a cadeia, já que o ataque completo combina múltiplos endpoints e comportamento de PHP; monitorar acesso externo ao J-Web como um todo (via NetFlow/firewall de gerência) é mais eficaz do que procurar apenas por esse endpoint isolado.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
A Missing Authentication for Critical Function vulnerability in Juniper Networks Junos OS on EX Series allows an unauthenticated, network-based attacker to cause limited impact to the file system integrity. With a specific request to installAppPackage.php that doesn't require authentication an attacker is able to upload arbitrary files via J-Web, leading to a loss of integrity for a certain part of the file system, which may allow chaining to other vulnerabilities. This issue affects Juniper Networks Junos OS on EX Series: * All versions prior to 20.4R3-S8; * 21.1 versions 21.1R1 and later; * 21.2 versions prior to 21.2R3-S6; * 21.3 versions prior to 21.3R3-S5; * 21.4 versions prior to 21.4R3-S4; * 22.1 versions prior to 22.1R3-S3; * 22.2 versions prior to 22.2R3-S1; * 22.3 versions prior to 22.3R2-S2, 22.3R3; * 22.4 versions prior to 22.4R2-S1, 22.4R3.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Productos afectados
Juniper Networks · Junos OS
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.