CVE-2023-20109
Prioritize patching. It under exploitation confirmed by CISA.
Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.
Summary
Falha de out-of-bounds write (CWE-787) no processamento dos protocolos GDOI e G-IKEv2 usados pelo recurso GET VPN do Cisco IOS e IOS XE. Permite execução de código arbitrário ou reload do dispositivo, mas apenas se o atacante já tiver controle administrativo de um key server ou de um group member da própria VPN GET — não é uma falha explorável por um atacante externo sem esse acesso prévio. Está no catálogo KEV da CISA por exploração confirmada, o que soa contraditório com o pré-requisito alto de privilégio, mas reflete o cenário de pós-comprometimento em ambientes que usam GET VPN.
Technical detail
O GET VPN é o mecanismo da Cisco para proteger tráfego multicast ou unicast em WANs privadas, combinando gerenciamento de chaves em grupo com IPsec. Ele usa dois protocolos para distribuir chaves entre um key server (ou group controller) e os group members: GDOI (baseado em IKEv1) e G-IKEv2 (baseado em IKEv2, sucessor do GDOI). A vulnerabilidade está na validação insuficiente de atributos dentro dos pacotes GDOI/G-IKEv2 processados pelo IOS/IOS XE, resultando em escrita fora dos limites de um buffer (CWE-787).
O atacante controla o conteúdo dos pacotes de gerenciamento de chave enviados pelo key server ao group member — é esse conteúdo malformado que gatilha a escrita indevida na memória do dispositivo alvo. A superfície de ataque é estritamente a comunicação entre key server e group member dentro da sessão GET VPN, não uma interface de gerência genérica do IOS.
O detalhe crítico do advisory da Cisco é que essa comunicação key server–group member normalmente ocorre dentro de uma sessão mutuamente autenticada e criptografada. Por isso a Cisco classifica a falha como explorável apenas por quem já tem esse nível de acesso — não é um bug de parsing acessível de fora da malha de confiança da VPN.
How it’s exploited
Há duas rotas de exploração descritas pela Cisco, ambas exigindo infiltração prévia no ambiente: (1) o atacante compromete um key server já instalado e usa esse acesso para modificar os pacotes GDOI ou G-IKEv2 enviados ao group member; ou (2) o atacante monta seu próprio key server e reconfigura um group member legítimo para apontar para esse servidor malicioso. A segunda rota exige três condições simultâneas: acesso administrativo autenticado ao group member com permissão para alterar sua configuração de key server, conhecimento da pre-shared key (PSK) e das políticas corretas para autenticar de volta com o group member reconfigurado, e capacidade de manipular os pacotes GDOI/G-IKEv2 enviados por esse servidor controlado.
Em ambos os casos o vetor não é acessível a um atacante remoto anônimo; pressupõe comprometimento anterior de credenciais administrativas ou de um componente de infraestrutura de chaveamento da própria VPN. Isso reduz drasticamente a superfície prática: o valor da falha para um atacante é escalar de 'já tenho acesso admin a um nó da GET VPN' para 'execução de código no dispositivo de rede' — um salto de privilégio dentro de um comprometimento já em andamento, não um ponto de entrada inicial.
A presença no catálogo KEV da CISA confirma exploração em ambiente real, mas a Cisco não detalha atores ou campanhas associadas nas fontes disponíveis. A CISA definiu prazo de correção até 2023-10-31 para agências federais dos EUA sob a BOD 22-01, tratando o caso com prioridade mesmo com o CVSS moderado (6.6), justamente pelo perfil de impacto (RCE/crash em equipamento de rede crítico) quando a pré-condição é atendida.
Versions
How to protect
O advisory da Cisco afirma explicitamente que não há workaround para esta vulnerabilidade — a única correção é atualizar o software. A Cisco recomenda usar a ferramenta Cisco Software Checker para identificar, a partir da versão instalada, a primeira release corrigida ('First Fixed') e a release combinada que corrige todas as vulnerabilidades do boletim de setembro de 2023; as fontes consultadas não trazem os números de versão exatos por linha de produto, então não é seguro citar aqui uma versão específica — consulte o Software Checker ou o advisory oficial para o dado exato do seu hardware/trem de software.
Como controle compensatório real, já que não há mitigação de configuração, o ponto de maior retorno é reduzir a superfície descrita nas pré-condições: restringir rigorosamente quem tem acesso administrativo aos group members e key servers da GET VPN, controlar mudanças de configuração que apontem o group member para um novo key server, e proteger a PSK e as políticas de autenticação da malha. Isso não corrige a falha de memória, mas fecha o caminho de acesso que a exploração exige.
Dispositivos sem GDOI ou G-IKEv2 habilitados não estão expostos; verifique com `show running-config | include crypto gdoi|gkm group` conforme indicado no advisory. Não tratar restrição de acesso administrativo como substituto permanente do patch — é mitigação de risco de acesso, não correção da vulnerabilidade de escrita fora dos limites.
How to detect
Não há um sinal de rede genérico e confiável para detecção, já que a exploração ocorre dentro de sessões GDOI/G-IKEv2 autenticadas e criptografadas entre key server e group member — tráfego que, por design, não é inspecionável em texto claro por terceiros. Em nível de host, monitore crashes/reloads inesperados em dispositivos com GET VPN habilitado, alterações de configuração que apontem group members para um key server diferente do esperado, e criação ou reconfiguração de key servers fora do processo de change management. Auditoria de acesso administrativo (AAA/TACACS+) a dispositivos com `crypto gdoi` ou `crypto gkm group` configurado é o controle de detecção mais prático disponível, já que o vetor de ataque passa necessariamente por essa camada de acesso.