← volver
CVE-2019-12991highbajo ataqueCWE-78

CVE-2019-12991

93Vexday Risk Score

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

ssvc Actcvss 8.8epss 74%
de la publicación al arma0 días
Publicada en NVD16 jul
1ª PoC12 jul
CISA KEV+983d
probabilidad de explotación
74%top 1% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-04-15

Apply updates per vendor instructions.

Resumen

Falha de injeção de comando autenticada no script installpatch.cgi dos appliances Citrix SD-WAN e NetScaler SD-WAN, permitindo execução de comandos como root através do parâmetro 'installfile'. O CVSS 8.8 já reflete a necessidade de autenticação prévia, mas o risco real é maior: pesquisadores da Tenable demonstraram que essa falha pode ser encadeada com uma SQL injection não autenticada (CVE-2019-12989) no mesmo produto para obter um token de sessão válido e, na prática, alcançar execução remota de comando sem credenciais.

Detalle técnico

O script installpatch.cgi (Perl, CGI) recebe o parâmetro 'installfile' e o passa, sem sanitização, para uma chamada da função system(). Isso é um caso clássico de CWE-78 (OS Command Injection): qualquer metacaractere de shell — crase, ponto e vírgula, pipe — incluído no valor do parâmetro é interpretado pelo interpretador de comandos do sistema operacional, e não apenas como dado da aplicação.

O processo do appliance que executa esse script roda com privilégios de root, então o comando injetado herda esse privilégio — não há etapa de elevação de privilégio necessária depois da injeção.

A descrição oficial da Citrix trata isso como 'issue 5 of 6' de um conjunto de falhas de validação de entrada corrigidas no mesmo ciclo (10.0.8 / 10.2.3). O advisory da Tenable (TRA-2019-32) documenta esse item especificamente como CVE-2019-12991 dentro de um pacote de vulnerabilidades relacionadas no mesmo appliance, incluindo uma SQL injection não autenticada (CVE-2019-12989) que serve de vetor de bypass de autenticação.

Cómo se explota

Pré-requisito formal: sessão autenticada (token válido, referenciado no PoC como parâmetro 'swc-token'). Com esse token, o atacante envia uma requisição HTTP ao endpoint /cgi-bin/installpatch.cgi com o parâmetro 'installfile' contendo um comando entre crases, executado diretamente via system() com privilégios de root — resultado: shell reversa ou execução arbitrária de comando no appliance.

O ponto que a manchete e o CVSS (PR:L) não deixam claro: a Tenable demonstrou que a exigência de autenticação pode ser contornada sem credenciais válidas, explorando a SQL injection não autenticada em getpackagefile.cgi (CVE-2019-12989) para gravar um arquivo de token diretamente no diretório usado pela aplicação para validar sessões. Isso transforma a cadeia completa em um exploit remoto, não autenticado, ponta a ponta — de rede à raiz do sistema. É essa combinação que motivou a Tenable a classificar o conjunto como 'Critical'.

A vulnerabilidade está no catálogo KEV da CISA (adicionada em 2022-03-25, prazo de correção 2022-04-15), confirmando exploração ativa observada, e há prova de conceito pública desde 2019 (advisory da Tenable e publicação no Packet Storm), o que reduz a complexidade prática para qualquer atacante que já tenha acesso à interface administrativa do appliance.

Versiones

Afectadas
Citrix SD-WAN 10.2.x anteriores à 10.2.3; NetScaler SD-WAN 10.0.x anteriores à 10.0.8 (descrição oficial). O advisory da Tenable também lista NetScaler SD-WAN 9.x e Citrix SD-WAN 10.1.x entre os produtos afetados pelo conjunto de vulnerabilidades relacionadas, sem detalhar versão de correção específica para esses ramos nas fontes disponíveis.
Corregidas en
NetScaler SD-WAN 10.0.8 e Citrix SD-WAN 10.2.3, conforme indicado pela Citrix e confirmado pela Tenable como corrigindo todos os itens do lote de vulnerabilidades (incluindo CVE-2019-12991).

Cómo protegerse

A correção definitiva é atualizar para as versões corrigidas pela Citrix: NetScaler SD-WAN 10.0.8 ou superior, e Citrix SD-WAN 10.2.3 ou superior (ramo 10.1.x também é citado como afetado no advisory da Tenable, sem versão de correção específica detalhada nas fontes disponíveis). Não há flag de configuração ou workaround documentado pelo fornecedor que neutralize a falha em versões vulneráveis — o problema está no código do script CGI, e só é removido pelo patch.

Como controle compensatório, restringir o acesso à interface de gerência/API do appliance (a porta onde os endpoints /cgi-bin/ e /sdwan/nitro/ residem) a redes de gerência confiáveis e segmentadas reduz a superfície de ataque, mas não elimina o risco: se a falha de SQL injection associada (CVE-2019-12989) também estiver acessível na mesma superfície, um atacante com acesso de rede ainda pode montar a cadeia completa sem credenciais. Trocar senhas de administrador ou impor MFA no painel não mitiga esta CVE especificamente, porque o bypass de autenticação documentado não depende de credenciais fracas — depende de uma falha de validação de entrada em outro endpoint.

Cómo detectar

Em logs do servidor web do appliance, procurar requisições a /cgi-bin/installpatch.cgi contendo o parâmetro 'installfile' com metacaracteres de shell (crase, ponto e vírgula, pipe, $() ) — esse padrão não tem uso legítimo normal e é forte indício de tentativa de exploração. Correlacionar com requisições anteriores ao endpoint /sdwan/nitro/v1/config/get_package_file com payloads de SQL injection no campo 'site_name' e cabeçalho SSL_CLIENT_VERIFY forjado como 'SUCCESS', que é o padrão documentado para obter o bypass de autenticação anterior à injeção de comando.

No host, monitorar processos filhos inesperados originados do processo do CGI (por exemplo, shells, netcat, conexões de saída não usuais) executando como root, e a criação de arquivos de token fora do fluxo normal de login em diretórios temporários do sistema.

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.
Citrix SD-WAN 10.2.x before 10.2.3 and NetScaler SD-WAN 10.0.x before 10.0.8 have Improper Input Validation (issue 5 of 6).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.