CVE-2025-39986 — can: sun4i_can: populate ndo_change_mtu() to prevent buffer overflow
In the Linux kernel, the following vulnerability has been resolved: can: sun4i_can: populate ndo_change_mtu() to prevent buffer overflow Sending an PF_PACKET allows to bypass the CAN framework logic and to directly reach the xmit() function of a CAN driver. The only check which is performed by the PF_PACKET framework is to make sure that skb->len fits the interface's MTU. Unfortunately, because the sun4i_can driver does not populate its net_device_ops->ndo_change_mtu(), it is possible for an attacker to configure an invalid MTU by doing, for example: $ ip link set can0 mtu 9999 After doing so, the attacker could open a PF_PACKET socket using the ETH_P_CANXL protocol: socket(PF_PACKET, SOCK_RAW, htons(ETH_P_CANXL)) to inject a malicious CAN XL frames. For example: struct canxl_frame frame = { .flags = 0xff, .len = 2048, }; The CAN drivers' xmit() function are calling can_dev_dropped_skb() to check that the skb is valid, unfortunately under above conditions, the malicious packet is able to go through can_dev_dropped_skb() checks: 1. the skb->protocol is set to ETH_P_CANXL which is valid (the function does not check the actual device capabilities). 2. the length is a valid CAN XL length. And so, sun4ican_start_xmit() receives a CAN XL frame which it is not able to correctly handle and will thus misinterpret it as a CAN frame. This can result in a buffer overflow. The driver will consume cf->len as-is with no further checks on this line: dlc = cf->len; Here, cf->len corresponds to the flags field of the CAN XL frame. In our previous example, we set canxl_frame->flags to 0xff. Because the maximum expected length is 8, a buffer overflow of 247 bytes occurs a couple line below when doing: for (i = 0; i < dlc; i++) writel(cf->data[i], priv->base + (dreg + i * 4)); Populate net_device_ops->ndo_change_mtu() to ensure that the interface's MTU can not be set to anything bigger than CAN_MTU. By fixing the root cause, this prevents the buffer overflow.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- EPSS 0.2% (probabilidade de exploração em 30 dias)+1
- Severidade técnica (high)+6
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
Nenhuma correção documentada pelas fontes consultadas. Isso não significa que não exista: verifique o aviso do fabricante.
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux).
- Nenhuma correção documentada nas fontes: reduza a exposição e monitore o aviso do fabricante.
- Procure nos logs disponíveis sinais de tentativa de exploração, erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
| Fabricante | Produto | Versões | Status | Fonte |
|---|---|---|---|---|
| Linux | Linux |
≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 063539db42203b29d5aa2adf0cae3d68c646a6b6≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 4f382cc887adca8478b9d3e6b81aa6698a95fff4≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 60463a1c138900494cb3adae41142a11cd8feb3c≥ 0738eff14d817a02ab082c392c96a1613006f158 e < a61ff7ac93270d20ca426c027d6d01c8ac8e904c≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 2e423e1990f3972cbea779883fef52c2f2acb858≥ 0738eff14d817a02ab082c392c96a1613006f158 e < de77841652e57afbc46e9e1dbf51ee364fc008e1≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 7f7b21026a6febdb749f6f6f950427245aa86cce≥ 0738eff14d817a02ab082c392c96a1613006f158 e < 61da0bd4102c459823fbe6b8b43b01fb6ace4a22 e mais 1versão 4.4 |
Vulnerável | CVE Program (cve.org) e CISA ADP |
Características do ataque
O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado por |
|---|---|---|---|---|---|
| 7.8 | CVSS 3.1 | Alta | 1.8 | 5.9 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 via NIST National Vulnerability Database |
| 7.8 | CVSS 3.1 | Alta | — | — | Linux via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (nota exibida no topo: 416baaa9-dc9f-4396-8d5f-8c081fb06d67) EPSS ao longo do tempo FIRST
13/10/2026 → 14/10/2026 · 2 leitura(s) · máximo 0.17%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Vetor local/físico: concentre-se em telemetria de endpoint (EDR) dos hosts afetados.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Produtos afetados adicionados · linux/linux
- Ficha publicada
- CVSS alterado · 7.8
- Status na fonte alterado · → Deferred
- Registro criado nesta base
- 2025
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Descrição oficial atualizada · 13/10/2026 – 13/10/2026
Referências
8 no registro
- git.kernel.org/stable/c/60463a1c138900494cb3adae41142a11cd8feb3c
- git.kernel.org/stable/c/7f7b21026a6febdb749f6f6f950427245aa86cce
- git.kernel.org/stable/c/4f382cc887adca8478b9d3e6b81aa6698a95fff4
- git.kernel.org/stable/c/2e423e1990f3972cbea779883fef52c2f2acb858
- git.kernel.org/stable/c/063539db42203b29d5aa2adf0cae3d68c646a6b6
- git.kernel.org/stable/c/a61ff7ac93270d20ca426c027d6d01c8ac8e904c
- git.kernel.org/stable/c/61da0bd4102c459823fbe6b8b43b01fb6ace4a22
- git.kernel.org/stable/c/de77841652e57afbc46e9e1dbf51ee364fc008e1
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Crítica CVE-2026-99999 ipv4: validate checksum_start before completing checksum 7 h
- Desconhecida CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 7 h
- Desconhecida CVE-2026-98424 wifi: cfg80211: undo netns switch if renaming the wiphy fails 1 d
- Desconhecida CVE-2026-98425 wifi: mac80211: don't warn when an IBSS has no channel to scan 1 d
- Desconhecida CVE-2026-98426 wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path 1 d
- Desconhecida CVE-2026-98427 net/sched: codel: bound the dropping loop per dequeue call 1 d
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Nenhuma versão corrigida, patch ou mitigação documentada.
- Sem avaliação SSVC da CISA.
- Sem classificação CWE.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2025-39986 é "can: sun4i_can: populate ndo_change_mtu() to prevent buffer overflow", de severidade Alta. Afeta Linux (Linux); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. CVSS 7.8 descreve a severidade técnica. EPSS 0.17% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.