← back
CVE-2019-1579highunder attackransomwareCWE-134

CVE-2019-1579

85Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 8.1epss 46%
from disclosure to weapon53 days
Published on NVDJul 19
1st PoC+53d
CISA KEV+906d
exploitation probability
46%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
4 public exploit(s)
Action required by CISAfederal deadline: 2022-07-10

Apply updates per vendor instructions.

Summary

Vulnerabilidade de format string pré-autenticação no daemon sslmgr do GlobalProtect (Portal e Gateway) do PAN-OS, que permite execução remota de código sem nenhuma credencial. É crítica porque o GlobalProtect é a interface SSL VPN exposta diretamente à internet — comprometer o sslmgr dá acesso root ao appliance que guarda a borda da rede corporativa. Está no catálogo KEV da CISA com exploração confirmada, mas a explicação em CVSS de AC:HIGH não é acessório: montar o exploit funcional exige fingerprinting preciso de versão e endereços de binário, então não é um ataque trivial de "apontar e disparar".

Technical detail

A falha (CWE-134, format string; o advisory do fornecedor classificou como CWE-20/Improper Input Validation) está no daemon sslmgr, que trata o handshake SSL entre o servidor GlobalProtect e os clientes e é exposto pelo reverse proxy Nginx no path /sslmgr. Durante a extração de parâmetros da requisição, o valor do campo scep-profile-name é passado diretamente como string de formato para snprintf, em vez de ser tratado como dado. Isso permite injetar especificadores de formato (%n, %c, %p, %hn) que o atacante controla totalmente via corpo do POST.

Pesquisadores da DEVCORE demonstraram que o especificador %n permite crashar o serviço, e %c com contadores grandes permite um side-channel de tempo (o snprintf repete internamente o número de vezes indicado) para verificar a vulnerabilidade sem derrubar o daemon — útil porque há um watchdog monitorando o sslmgr e crashes são visíveis. A exploração completa usa combinações de %n e %hn para sobrescrever entradas na GOT (Global Offset Table), redirecionando, por exemplo, o ponteiro de strlen para o endereço da função system() na PLT (Procedure Linkage Table), transformando o sslmgr em uma webshell.

O ponto crítico é que os offsets de GOT/PLT variam por versão e build do binário, então o exploit não é genérico — precisa ser calibrado para a versão exata do alvo, identificável remotamente por headers Last-Modified de recursos estáticos (ex.: /global-protect/portal/css/login.css para a série 8.x, /images/logo_pan_158.gif para a série 7.x). Isso explica o AC:HIGH no vetor CVSS.

How it’s exploited

O vetor é uma requisição HTTP POST não autenticada para o path /sslmgr, exposto publicamente sempre que a interface GlobalProtect Portal ou Gateway está habilitada — não há login, VPN estabelecida ou qualquer interação do usuário necessária. O único pré-requisito real é ter a versão vulnerável do PAN-OS com GlobalProtect habilitado e acessível pela internet; equipamentos sem GlobalProtect ativado não são afetados, segundo o próprio fornecedor.

Na prática, o atacante primeiro identifica a versão exata do appliance via fingerprinting de assets estáticos, depois envia um payload de format string calibrado para os offsets de GOT/PLT daquela build específica, sobrescrevendo um ponteiro de função para redirecionar execução para system() com um comando arbitrário. O resultado final é execução de comando como usuário do processo sslmgr no appliance, com acesso à rede interna atrás da VPN.

A falha está no catálogo KEV da CISA (adicionada em 2022-01-10, prazo de correção 2022-07-10), confirmando exploração em ambiente real, com PoC pública disponível desde a divulgação da DEVCORE em julho de 2019 no contexto de sua pesquisa sobre SSL VPNs líderes de mercado (apresentada na Black Hat/DEF CON daquele ano).

Versions

Affected
PAN-OS 7.1.18 e anteriores; PAN-OS 8.0.11-h1 e anteriores; PAN-OS 8.1.2 e anteriores — apenas quando a interface GlobalProtect Portal ou GlobalProtect Gateway está habilitada. Segundo a pesquisa da DEVCORE, a série 7.0.x não é afetada.
Fixed in
PAN-OS 7.1.19 e posteriores; PAN-OS 8.0.12 e posteriores; PAN-OS 8.1.3 e posteriores. PAN-OS 9.0 não é afetado.

How to protect

A correção definitiva é atualizar para PAN-OS 7.1.19 ou posterior, 8.0.12 ou posterior, ou 8.1.3 ou posterior — a série 9.0 nunca foi afetada. O fornecedor trata isso como fix silencioso já presente em releases de manutenção anteriores ao CVE ser formalmente atribuído.

Se a atualização não for possível de imediato, o fornecedor recomenda aplicar o content release de Threat Prevention 8173 ou posterior e confirmar que threat prevention está habilitado e sendo enforced no tráfego que passa pela interface GlobalProtect Portal/Gateway — isso funciona como controle compensatório, mas depende de licença de Threat Prevention ativa e de assinaturas atualizadas, e não elimina a vulnerabilidade no binário. Ambientes que não têm GlobalProtect habilitado não estão expostos a este CVE especificamente, mas isso não deve ser tratado como mitigação — é apenas ausência de superfície de ataque para esta falha pontual.

Restringir o path /sslmgr por IP de origem ou desabilitar a interface GlobalProtect quando não estritamente necessária reduz a superfície exposta, mas não é substituto para o patch, já que qualquer exposição residual à internet mantém o risco.

How to detect

Em logs de acesso do Nginx/reverse proxy do appliance, procurar requisições POST para o path /sslmgr contendo, no corpo, o parâmetro scep-profile-name (ou outros parâmetros como appauthcookie, host-id, user-email) com especificadores de formato como %n, %c, %p, %hn ou sequências como %$p — esse padrão não ocorre em tráfego legítimo. Tempos de resposta anormalmente altos para requisições a esse endpoint também podem indicar tentativas de verificação via side-channel de tempo (uso de %c com contadores grandes), técnica documentada pelos próprios pesquisadores para testar a falha sem crashar o serviço. Crashes ou reinícios inesperados do processo sslmgr (via watchdog) no mesmo período são um sinal adicional de tentativa de exploração falha ou de reconhecimento.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Remote Code Execution in PAN-OS 7.1.18 and earlier, PAN-OS 8.0.11-h1 and earlier, and PAN-OS 8.1.2 and earlier with GlobalProtect Portal or GlobalProtect Gateway Interface enabled may allow an unauthenticated remote attacker to execute arbitrary code.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.