CVE-2026-31507 — net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer
In the Linux kernel, the following vulnerability has been resolved: net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer smc_rx_splice() allocates one smc_spd_priv per pipe_buffer and stores the pointer in pipe_buffer.private. The pipe_buf_operations for these buffers used .get = generic_pipe_buf_get, which only increments the page reference count when tee(2) duplicates a pipe buffer. The smc_spd_priv pointer itself was not handled, so after tee() both the original and the cloned pipe_buffer share the same smc_spd_priv *. When both pipes are subsequently released, smc_rx_pipe_buf_release() is called twice against the same object: 1st call: kfree(priv) sock_put(sk) smc_rx_update_cons() [correct] 2nd call: kfree(priv) sock_put(sk) smc_rx_update_cons() [UAF] KASAN reports a slab-use-after-free in smc_rx_pipe_buf_release(), which then escalates to a NULL-pointer dereference and kernel panic via smc_rx_update_consumer() when it chases the freed priv->smc pointer: BUG: KASAN: slab-use-after-free in smc_rx_pipe_buf_release+0x78/0x2a0 Read of size 8 at addr ffff888004a45740 by task smc_splice_tee_/74 Call Trace: <TASK> dump_stack_lvl+0x53/0x70 print_report+0xce/0x650 kasan_report+0xc6/0x100 smc_rx_pipe_buf_release+0x78/0x2a0 free_pipe_info+0xd4/0x130 pipe_release+0x142/0x160 __fput+0x1c6/0x490 __x64_sys_close+0x4f/0x90 do_syscall_64+0xa6/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> BUG: kernel NULL pointer dereference, address: 0000000000000020 RIP: 0010:smc_rx_update_consumer+0x8d/0x350 Call Trace: <TASK> smc_rx_pipe_buf_release+0x121/0x2a0 free_pipe_info+0xd4/0x130 pipe_release+0x142/0x160 __fput+0x1c6/0x490 __x64_sys_close+0x4f/0x90 do_syscall_64+0xa6/0x1a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Kernel panic - not syncing: Fatal exception Beyond the memory-safety problem, duplicating an SMC splice buffer is semantically questionable: smc_rx_update_cons() would advance the consumer cursor twice for the same data, corrupting receive-window accounting. A refcount on smc_spd_priv could fix the double-free, but the cursor-accounting issue would still need to be addressed separately. The .get callback is invoked by both tee(2) and splice_pipe_to_pipe() for partial transfers; both will now return -EFAULT. Users who need to duplicate SMC socket data must use a copy-based read path.
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.
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
- Patch documentado — git.kernel.org (NIST National Vulnerability Database)
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, Linux Linux Kernel).
- Aplique a versão corrigida ou o patch documentado na seção Remediação.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (corrupção de memória), 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 |
versão 4.18≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 24dd586bb4cbba1889a50abe74143817a095c1c9≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 3cc76380fea749280c026f410af56a28aaac388a≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 54c87a730157868543ebdfa0ecb21b4590ed23a5≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 7bcb974c771c863e8588cea0012ac204443a7126≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 81acbd345d405994875d419d43b319fee0b9ad62≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 98ba5cb274768146e25ffbfde47753652c1c20d3≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < ae5575e660410c8d2c5d38fb28a0f37aea945676 e mais 1≥ 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f e < 7e8916f46c2f48607f907fd401590093753a6bc5 |
Vulnerável | CVE Program (cve.org) e CISA ADP |
| Linux | Linux Kernel |
versão 7.0-rc5versão 7.0-rc7versão 7.0-rc6≥ 4.18.1 e < 5.10.253versão 7.0-rc4versão 7.0-rc3versão 7.0-rc2versão 7.0-rc1 e mais 7versão 4.18≥ 6.19 e < 6.19.11≥ 6.13 e < 6.18.21≥ 6.7 e < 6.12.80≥ 6.2 e < 6.6.131≥ 5.16 e < 6.1.168≥ 5.11 e < 5.15.203 |
Vulnerável | NIST National Vulnerability Database |
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 | — | — | GitHub, Inc. via GitHub Security Advisories |
| 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) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
EPSS ao longo do tempo FIRST
13/10/2026 → 14/10/2026 · 2 leitura(s) · máximo 0.18%
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.
- Correlacione falhas/reinícios do serviço com tráfego de entrada; crashes repetidos podem indicar tentativas.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Produtos afetados adicionados · linux/linux
- Ficha publicada
- Correção documentada
- CVSS alterado · 7.8
- Status na fonte alterado · → Modified
- Registro criado nesta base
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 2× Referências adicionadas · 14/10/2026 – 14/10/2026
- 1× Descrição oficial atualizada · 13/10/2026 – 13/10/2026
Referências
13 no registro
- git.kernel.org/stable/c/7bcb974c771c863e8588cea0012ac204443a7126
- git.kernel.org/stable/c/98ba5cb274768146e25ffbfde47753652c1c20d3
- git.kernel.org/stable/c/24dd586bb4cbba1889a50abe74143817a095c1c9
- git.kernel.org/stable/c/7e8916f46c2f48607f907fd401590093753a6bc5
- git.kernel.org/stable/c/54c87a730157868543ebdfa0ecb21b4590ed23a5
- git.kernel.org/stable/c/3cc76380fea749280c026f410af56a28aaac388a
- git.kernel.org/stable/c/ae5575e660410c8d2c5d38fb28a0f37aea945676
- git.kernel.org/stable/c/81acbd345d405994875d419d43b319fee0b9ad62
- cert-portal.siemens.com/productcert/html/ssa-082556.html
- cert-portal.siemens.com/productcert/html/ssa-457936.html
- nvd.nist.gov/vuln/detail/CVE-2026-31507
- github.com/advisories/GHSA-xf3q-f592-rmgx
- cert-portal.siemens.com/productcert/html/ssa-019113.html
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Crítica CVE-2026-99999 ipv4: validate checksum_start before completing checksum 8 h
- Desconhecida CVE-2026-98432 ipv4: free inet_opt and ireq_opt after an RCU grace period 8 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.
- Sem avaliação SSVC da CISA.
- 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-2026-31507 é "net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer", 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.18% 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.