← back
CVE-2024-20399mediumunder attackCWE-78

Cisco NX-OS Software CLI Command Injection Vulnerability

63Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA, has a public proof of concept and 1 threat group(s) use it.

ssvc Actcvss 6epss 4.3%
from disclosure to weapon716 days
Published on NVDJul 1
1st PoC+716d
CISA KEV+1d
exploitation probability
4.3%top 10% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 group(s)1 public exploit(s)
Who exploits it1

Groups known to exploit this vulnerability (MITRE ATT&CK attribution).

Action required by CISAfederal deadline: 2024-07-23

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

Summary

CVE-2024-20399 é uma falha de command injection (CWE-78) na CLI do Cisco NX-OS que permite a um usuário já autenticado com credenciais de Administrator executar comandos arbitrários como root no Linux subjacente do switch, sem passar pelo shell interativo suportado pelo dispositivo. O CVSS 6.0 reflete corretamente que o requisito de privilégio já é alto (PR:H) — isso não é uma falha de escalonamento remoto, é uma técnica de evasão e persistência para quem já tem as chaves do equipamento. Importa porque foi explorada como zero-day por um grupo de espionagem ligado à China (Velvet Ant, segundo a Sygnia) contra switches Nexus em ambientes de data center antes da divulgação pública.

Technical detail

A causa raiz é validação insuficiente de argumentos passados a comandos específicos de configuração da CLI do NX-OS. O NX-OS roda sobre um kernel Linux, mas normalmente abstrai esse ambiente por trás de sua própria sintaxe de comandos — para 'escapar' e chegar ao shell Linux, um usuário legítimo precisaria habilitar explicitamente o recurso bash-shell (quando disponível) ou usar o comando 'run bash'. A vulnerabilidade permite que, ao incluir input malformado como argumento de certos comandos de configuração, esse argumento seja interpretado e executado pelo sistema operacional subjacente com privilégios de root, contornando esse mecanismo de shell explícito.

How it’s exploited

O pré-requisito prático domina o risco real desta CVE: o atacante precisa já possuir credenciais válidas de Administrator (network-admin/vdc-admin) e acesso à console de gerência do switch — não há componente remoto não autenticado. Em dispositivos onde o recurso bash-shell já está disponível por padrão (Nexus 3000, Nexus 9000 em modo standalone, e Nexus 7000 em releases 8.1(1) e posteriores), a falha não concede privilégio adicional algum: um admin já pode chegar ao root via 'run bash'. O valor real da falha para um atacante é evasão de detecção — ela permite executar comandos no SO subjacente sem disparar a mensagem de syslog que normalmente registra o uso do comando 'run bash', dificultando a atribuição forense. Ainda assim, como os comandos afetados são de configuração, a etapa inicial de exploração gera uma mensagem de syslog de mudança de configuração, o que fornece um sinal residual. A exploração documentada foi conduzida pelo grupo Velvet Ant (rastreado como ligado à China pela Sygnia), que usou a falha como zero-day para executar malware customizado em switches Nexus comprometidos, mantendo acesso remoto persistente, upload de arquivos e execução de código — tudo isso após já ter obtido credenciais administrativas na rede interna da vítima.

Versions

Affected
Depende da linha de produto e bug ID associado: MDS 9000 Series (CSCwj97007), Nexus 3000 Series (CSCwj97009), Nexus 5500/5600/6000 Platform Switches (CSCwj97011), Nexus 7000 Series (CSCwj94682) e Nexus 9000 Series em modo standalone NX-OS (CSCwj97009) — todos em releases de NX-OS anteriores à correção de cada linha. Releases 9.3(5) e posteriores já não são afetadas, exceto plataformas Nexus 3000 específicas (corrigidas apenas em 9.3(14)) e o modelo Nexus 9000 N9K-C92348GC-X (corrigido em 9.3(14)/10.3(6)/10.4(3)). Nexus 9000 em modo ACI, ASA, Firepower, FTD, Nexus 1000/1000V e UCS Fabric Interconnects foram confirmados como não afetados.
Fixed in
NX-OS 9.3(5) e posteriores corrigem a maioria das plataformas. Exceções: modelos Nexus 3000 listados (N3K-C3048TP-1GE, N3K-C3132Q-40GX, N3K-C3172PQ-10GE, N3K-C3172TQ-10GT, N3K-C3172TQ-32T, N3K-C3524P-10GX, N3K-C3548P-10GX) só têm correção em 9.3(14); Nexus 9000 modelo N9K-C92348GC-X é corrigido em 9.3(14), 10.3(6) e 10.4(3). Para MDS 9000 Series e Nexus 5500/5600/6000 Platform Switches, o advisory da Cisco referencia releases fixas específicas na seção 'Fixed Software' associadas aos bug IDs CSCwj97007 e CSCwj97011, mas os números exatos não constam no material consultado — verificar diretamente no advisory ou no Cisco Bug Search Tool.

How to protect

A mitigação primária é atualizar para releases fixas do NX-OS; não existe workaround publicado pela Cisco — o advisory é explícito: 'There are no workarounds that address this vulnerability'. Releases 9.3(5) e posteriores já não são afetadas, com exceções pontuais: nas plataformas Nexus 3000 listadas (N3K-C3048TP-1GE, N3K-C3132Q-40GX, N3K-C3172PQ-10GE, N3K-C3172TQ-10GT, N3K-C3172TQ-32T, N3K-C3524P-10GX, N3K-C3548P-10GX) a correção só chega em 9.3(14); e no Nexus 9000 modelo N9K-C92348GC-X a correção está em 9.3(14), 10.3(6) e 10.4(3). Para MDS 9000 e Nexus 5500/5600/6000 as fontes consultadas não trazem o número exato de release corrigido por linha de produto — consulte o CSAF/advisory específico do bug ID correspondente (CSCwj97007 para MDS 9000; CSCwj97011 para 5500/5600/6000) antes de assumir cobertura.

Como não há patch de configuração, o controle compensatório real é reduzir quem tem credenciais de Administrator e onde elas podem ser usadas: acesso à console de gerência via jump host/PAM com MFA, isolamento em rede fora-de-banda, e rotação frequente de credenciais network-admin e vdc-admin — recomendação que consta tanto no advisory da Cisco quanto na análise da Sygnia. Não existe mitigação via ACL ou WAF, porque a superfície é a própria CLI administrativa do dispositivo, não uma interface de rede exposta.

How to detect

O sinal mais confiável é indireto: como os comandos explorados são comandos de configuração, a etapa inicial de exploração gera uma mensagem de syslog reportando uma mudança de configuração no dispositivo — mesmo que a execução subsequente no shell Linux não gere o log habitual de uso do comando 'run bash'. Isso torna a ausência de log de bash-shell combinada com mudanças de configuração inesperadas ou não reconhecidas pelos operadores um indicador a investigar. Como switches e appliances de rede raramente têm seus logs centralizados (ponto destacado pela Sygnia na investigação do Velvet Ant), a lacuna prática de detecção é grande: sem encaminhamento de syslog para um SIEM e sem auditoria de uso de credenciais network-admin/vdc-admin, a exploração pode passar despercebida por longos períodos.

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.
A vulnerability in the CLI of Cisco NX-OS Software could allow an authenticated user in possession of Administrator credentials to execute arbitrary commands as root on the underlying operating system of an affected device. This vulnerability is due to insufficient validation of arguments that are passed to specific configuration CLI commands. An attacker could exploit this vulnerability by including crafted input as the argument of an affected configuration CLI command. A successful exploit could allow the attacker to execute arbitrary commands on the underlying operating system with the privileges of root. Note: To successfully exploit this vulnerability on a Cisco NX-OS device, an attacker must have Administrator credentials. The following Cisco devices already allow administrative users to access the underlying operating system through the bash-shell feature, so, for these devices, this vulnerability does not grant any additional privileges: Nexus 3000 Series Switches Nexus 7000 Series Switches that are running Cisco NX-OS Software releases 8.1(1) and later Nexus 9000 Series Switches in standalone NX-OS mode
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.