← voltar
CVE-2020-11899mediumsob ataqueCWE-125

CVE-2020-11899

48Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA.

ssvc Attendcvss 5.4epss 19%
da publicação à arma
Publicada no NVD17 de jun.
CISA KEV+624d
probabilidade de exploração
19%top 3% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2022-03-17

Apply updates per vendor instructions.

Resumo

CVE-2020-11899 é uma leitura fora dos limites de memória (out-of-bounds read) no processamento de pacotes IPv6 pela pilha Treck TCP/IP, um componente embarcado licenciado por dezenas de fabricantes de equipamentos de rede, industriais e médicos. Faz parte do conjunto Ripple20 (19 CVEs) divulgado pela JSOF em junho de 2020. O CVSS 5.4 já reflete uma limitação importante que a manchete 'out-of-bounds read' esconde: o vetor é AV:A (rede adjacente), não internet aberta, e o impacto de confidencialidade é nulo (C:N) — o dado lido fora dos limites tipicamente trava o processo, não exfiltra informação útil.

Detalhamento técnico

A falha está na rotina de parsing de pacotes IPv6 da pilha Treck (CWE-125, Out-of-bounds Read; a Cisco classifica como CWE-20, Improper Input Validation, tratando a causa raiz como falta de validação de comprimento/offset em campos do cabeçalho ou extensões IPv6). O código lê um índice ou tamanho controlado pelo pacote sem checar contra os limites reais do buffer alocado, resultando em leitura de memória adjacente.

O atacante controla o conteúdo do pacote IPv6 malformado — cabeçalhos de extensão, comprimentos declarados ou campos que a rotina usa para calcular um offset de leitura. Como a Treck é distribuída como código-fonte ou biblioteca estática/dinâmica para ser compilada dentro do firmware de cada fabricante, o comportamento exato (onde o buffer está alocado, o que fica na memória adjacente, se o processo trava ou apenas prossegue com dados corrompidos) varia por produto e opções de build — não existe um binário único de referência.

A JSOF batizou esse conjunto de bugs de Ripple20 justamente porque o mesmo código-fonte se propagou, com o tempo, para stacks derivadas (como o KASAGO da Zuken Elmic) e para produtos de fornecedores que nem sempre sabem que embutem Treck — um problema clássico de visibilidade de cadeia de suprimentos de software.

Como é explorada

Pré-requisito real: AV:A significa que o atacante precisa estar na mesma rede local (ou segmento lógico adjacente, por exemplo mesma VLAN ou trecho tunelado) do dispositivo vulnerável — não é explorável a partir da internet sem antes obter posição de rede adjacente. Não exige autenticação nem interação do usuário (PR:N, UI:N): basta enviar um pacote IPv6 malformado ao dispositivo.

O resultado típico, segundo o próprio vetor CVSS (C:N, I:L, A:L), é negação de serviço — o processo que lê fora dos limites trava ou reinicia — com impacto marginal em integridade. Isso contrasta com outras CVEs do mesmo pacote Ripple20 (como CVE-2020-11896 ou CVE-2020-11901) que a JSOF e a Cisco classificam com potencial de execução remota de código; CVE-2020-11899 especificamente não tem, nas fontes analisadas, demonstração pública de RCE.

A CISA lista esta CVE no catálogo KEV, o que indica exploração confirmada em algum contexto real, mas as fontes consultadas não detalham campanha, ator ou setor específico da exploração observada — trate a presença no KEV como confirmação de risco ativo, não como descrição do ataque.

Versões

Afetadas
Treck TCP/IP stack em todas as versões anteriores à 6.0.1.66 (conforme descrição oficial do CVE). O impacto real depende de cada produto que embute a stack: consulte o advisory do fabricante do dispositivo específico, pois a Aruba/HPE, por exemplo, declara-se 'Not Affected' por esta CVE em particular, enquanto outros fabricantes (Baxter, B. Braun) declaram-se afetados por todo o conjunto Ripple20.
Corrigidas em
6.0.1.66 corrige esta CVE especificamente, segundo a descrição oficial; o CERT/CC recomenda 6.0.1.67 ou posterior como versão estável que cobre o conjunto completo de vulnerabilidades Ripple20. Fabricantes downstream (Cisco, entre outros) publicaram cronogramas próprios de versões de firmware corrigidas por linha de produto — não existe uma versão única aplicável a todos os dispositivos afetados.

Como se proteger

A correção definitiva é atualizar a pilha Treck para versão igual ou superior a 6.0.1.66 (a descrição oficial do fornecedor situa o corte exatamente aí). O CERT/CC recomenda, para cobrir o conjunto completo de vulnerabilidades Ripple20 e não apenas esta CVE, atualizar para 6.0.1.67 ou posterior. Como a Treck é embarcada e recompilada por cada fabricante, a atualização não é algo que o operador aplica diretamente: é necessário contatar o vendor do equipamento (roteador, switch, dispositivo médico, controlador industrial) para obter o firmware que já incorpora o patch — a Cisco, por exemplo, publicou versões corrigidas por linha de produto no seu próprio advisory.

Se a atualização de firmware não estiver disponível, não existe workaround que elimine a falha (a Cisco afirma explicitamente 'no workarounds available' para este conjunto). Os controles compensatórios são de rede: normalizar ou descartar fragmentos IPv6 malformados, bloquear cabeçalhos de roteamento IPv6 obsoletos e tunelamento não necessário, e restringir o alcance de rede do dispositivo afetado para reduzir a exposição a atacantes na mesma rede adjacente — já que o vetor exige adjacência, segmentação de rede (VLANs isoladas, ACLs) é o controle mais efetivo disponível sem patch.

Mito a descartar: assumir que 'está numa VLAN isolada, então não corre risco' ignora que muitos dispositivos IoT/OT ficam na mesma VLAN de gestão ou operação que outros hosts controlados por terceiros (contratados, integradores) — adjacência de rede é mais fácil de obter do que parece em ambientes industriais e hospitalares.

Como detectar

Não há assinatura pública específica e confirmada para CVE-2020-11899 nas fontes consultadas. O CERT/CC publicou um conjunto de regras Suricata (vu-257161.rules, repositório GitHub do CERTCC) para o conjunto Ripple20, mas o exemplo documentado publicamente (tunelamento IP-in-IP com fragmentos) é voltado para CVE-2020-11896 e CVE-2020-11900, não para esta CVE. Na ausência de assinatura dedicada, o sinal prático é indireto: pacotes IPv6 malformados ou com cabeçalhos de extensão inconsistentes chegando de hosts na mesma rede adjacente ao dispositivo, seguidos de reinício ou queda de conectividade do equipamento — sinal de DoS, não de leitura de dados sensíveis.

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.
The Treck TCP/IP stack before 6.0.1.66 has an IPv6 Out-of-bounds Read.
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
Produtos afetados
n/a · n/a