← voltar
CVE-2023-36844mediumsob ataqueCWE-473

Junos OS: EX Series: A PHP vulnerability in J-Web allows an unauthenticated attacker to control important environment variables

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 5.3epss 91%
da publicação à arma8 dias
Publicada no NVD17 de ago.
1ª PoC+8d
CISA KEV+88d
probabilidade de exploração
91%top 1% das CVEs
exploração observada
simCISA + VulnCheck
7 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2023-11-17

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

Resumo

Falha em scripts PHP legados do J-Web (interface de gerenciamento web) do Junos OS em switches EX Series permite que um atacante não autenticado, via rede, manipule variáveis de ambiente PHP internas através de um request malformado. Isolada, ela só causa perda parcial de integridade (CVSS 5.3), mas é o primeiro elo de uma cadeia de quatro CVEs divulgadas juntas por Juniper em agosto de 2023 (CVE-2023-36844 a 36847) que, combinadas, permitem execução remota de código pré-autenticação — motivo pelo qual entrou no catálogo KEV da CISA e tem exploração ativa confirmada.

Detalhamento técnico

A falha é classificada como CWE-473 (PHP External Variable Modification). O J-Web expõe scripts PHP antigos que tratam parâmetros de request HTTP como se fossem variáveis de ambiente ou globais internas do interpretador PHP — um padrão herdado de comportamento estilo 'register_globals', onde dados vindos diretamente do cliente acabam populando variáveis que o próprio código PHP considera confiáveis ou internas.

Com uma requisição crafted, o atacante consegue sobrescrever 'certas variáveis de ambiente importantes' (nas palavras do próprio advisory da Juniper) sem qualquer autenticação. O CVSS oficial (C:N/I:L/A:N) reflete o impacto isolado dessa modificação: nenhuma confidencialidade comprometida diretamente, integridade parcial, sem impacto em disponibilidade.

O valor real da falha, segundo a divulgação conjunta da Juniper e a análise pública que se seguiu, está em encadeamento: a mesma classe de manipulação de variável de ambiente PHP é a base para abusar de outra falha do mesmo lote (inclusão de arquivo via variável de configuração do interpretador, CVE-2023-36845), que por sua vez pode ser combinada com falhas de upload sem autenticação (CVE-2023-36846/36847) para conseguir gravar e executar código arbitrário no dispositivo. CVE-2023-36844 sozinha não executa código; ela abre a porta de controle de ambiente que as outras falhas exploram.

Como é explorada

Vetor: rede, sem autenticação, contra a interface J-Web (HTTP ou HTTPS de gerenciamento) do EX Series. Pré-condição real que a manchete não deixa claro: J-Web precisa estar habilitado e acessível na interface atacada — em muitos ambientes essa interface é restrita a uma rede de gerenciamento out-of-band, o que reduz a exposição prática mesmo sendo 'unauthenticated'. Onde J-Web está exposto à internet ou a segmentos não confiáveis, a superfície de ataque é total.

Explorada isoladamente, a falha permite ao atacante alterar o comportamento de scripts PHP do J-Web via variáveis de ambiente forjadas, mas o cenário documentado publicamente — inclusive por pesquisadores que publicaram PoC e por scanners de internet que registraram tentativas em massa após a divulgação — é o uso encadeado das quatro CVEs para atingir execução remota de código pré-autenticação completa. É esse encadeamento que justifica a entrada no catálogo KEV da CISA (adicionado em 13/11/2023, prazo de mitigação 17/11/2023) e o CVSS elevado atribuído ao conjunto quando avaliado como cadeia, mesmo com o CVSS individual desta CVE sendo moderado.

A CISA classifica a exploração conhecida e recomenda aplicar a mitigação do fornecedor ou descontinuar o uso do produto se não houver correção disponível — linguagem padrão do catálogo para vulnerabilidades com exploração confirmada em campo, sem detalhar aqui o ator ou a campanha específica.

Versões

Afetadas
Junos OS em EX Series: todas as versões anteriores a 20.4R3-S9; 21.1 versões 21.1R1 e posteriores; 21.2 anteriores a 21.2R3-S7; 21.3 anteriores a 21.3R3-S5; 21.4 anteriores a 21.4R3-S5; 22.1 anteriores a 22.1R3-S4; 22.2 anteriores a 22.2R3-S2; 22.3 anteriores a 22.3R3-S1; 22.4 anteriores a 22.4R2-S2 e 22.4R3; 23.2 anteriores a 23.2R1-S1 e 23.2R2.
Corrigidas em
20.4R3-S9; 21.2R3-S7; 21.3R3-S5; 21.4R3-S5; 22.1R3-S4; 22.2R3-S2; 22.3R3-S1; 22.4R2-S2 ou 22.4R3; 23.2R1-S1 ou 23.2R2 — conforme a branch de origem. A série 21.1 não tem release corrigido listado; recomenda-se migração para outra branch.

Como se proteger

A correção definitiva é atualizar para as versões corrigidas publicadas pela Juniper, específicas por branch: 20.4R3-S9, 21.2R3-S7, 21.3R3-S5, 21.4R3-S5, 22.1R3-S4, 22.2R3-S2, 22.3R3-S1, 22.4R2-S2/22.4R3, 23.2R1-S1/23.2R2, dependendo da versão em uso. Não há atualização de segurança retroativa para a série 21.1 (qualquer versão 21.1R1 ou posterior é afetada e não há branch 21.1 corrigido listado no advisory) — nesses casos a migração para outra branch corrigida é a via.

Se a atualização imediata não for possível, o paliativo documentado pela Juniper e amplamente recomendado é desabilitar o J-Web ou restringir seu acesso exclusivamente a hosts de gerenciamento confiáveis via ACL/firewall, removendo a exposição da interface HTTP/HTTPS a redes não confiáveis. Isso não corrige a falha no código, mas elimina o vetor de rede necessário para exploração pré-autenticação. O custo é perder a interface web de gerenciamento — ambientes que dependem dela precisam migrar para CLI ou outra ferramenta de gestão.

Mito a descartar: trocar credenciais de administrador ou reforçar políticas de senha não mitiga nada, porque a exploração é pré-autenticação — não depende de credencial alguma.

Como detectar

Em logs de acesso ao J-Web (tipicamente httpd/nginx do plano de gerenciamento do dispositivo), procurar requisições HTTP/HTTPS com parâmetros anômalos que tentem injetar nomes de variáveis de ambiente ou de configuração do PHP nos campos de query string ou corpo do request — especialmente combinadas com uploads de arquivo ou requisições a scripts PHP legados do J-Web fora do fluxo normal de autenticação. Scanners de internet registraram picos de tentativas de exploração em massa contra J-Web logo após a divulgação de agosto de 2023.

Não há uma assinatura única e confiável para esta CVE isolada: como o impacto direto é modificação de variável interna sem execução imediata de código, o sinal mais forte de comprometimento aparece quando ela é encadeada com as outras três falhas do mesmo lote — nesse caso, procurar por arquivos de configuração PHP alterados no sistema de arquivos do dispositivo e por artefatos de upload não autorizados é mais produtivo do que procurar pela exploração isolada desta CVE.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
A PHP External Variable Modification vulnerability in J-Web of Juniper Networks Junos OS on EX Series allows an unauthenticated, network-based attacker to control certain, important environment variables. Using a crafted request an attacker is able to modify certain PHP environment variables leading to partial loss of integrity, which may allow chaining to other vulnerabilities. This issue affects Juniper Networks Junos OS on EX Series: * All versions prior to 20.4R3-S9; * 21.1 versions 21.1R1 and later; * 21.2 versions prior to 21.2R3-S7; * 21.3 versions prior to 21.3R3-S5; * 21.4 versions prior to 21.4R3-S5; * 22.1 versions prior to 22.1R3-S4; * 22.2 versions prior to 22.2R3-S2; * 22.3 versions prior to 22.3R3-S1; * 22.4 versions prior to 22.4R2-S2, 22.4R3; * 23.2 versions prior to 23.2R1-S1, 23.2R2.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.