← back
CVE-2020-11899mediumunder attackCWE-125

CVE-2020-11899

48Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA.

ssvc Attendcvss 5.4epss 19%
from disclosure to weapon
Published on NVDJun 17
CISA KEV+624d
exploitation probability
19%top 3% of all CVEs
observed exploitation
yesCISA + VulnCheck
Action required by CISAfederal deadline: 2022-03-17

Apply updates per vendor instructions.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
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.
Fixed in
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.

How to protect

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.

How to detect

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.

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.
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
Affected products
n/a · n/a