CVE-2026-31429
net: skb: corrigir liberação entre caches do cabeçalho skb alocado por KFENCE
- Publicado
- 20 de abr. de 2026
- Atualizado
- 11 de mai. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 25 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HBaixo · próximos 30 dias
- Percentil
- 17,9%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No Linux kernel, a seguinte vulnerabilidade foi resolvida: net: skb: corrigir liberação entre caches de cabeçalho skb alocado por KFENCE SKB_SMALL_HEAD_CACHE_SIZE é intencionalmente definido como um valor que não é potência de 2 (ex.: 704 em x86_64) para evitar colisões com tamanhos genéricos de buckets do kmalloc. Isso garante que skb_kfree_head() possa usar de forma confiável skb_end_offset para distinguir cabeçalhos skb alocados de skb_small_head_cache vs. caches genéricos do kmalloc. No entanto, quando KFENCE está habilitado, kfence_ksize() retorna o tamanho exato de alocação solicitado em vez do tamanho do bucket do slab. Se um chamador (ex.: bpf_test_init) aloca dados de cabeçalho skb via kzalloc() e o tamanho solicitado por acaso for igual a SKB_SMALL_HEAD_CACHE_SIZE, então slab_build_skb() -> ksize() retorna esse valor exato. Após subtrair a sobrecarga de skb_shared_info, skb_end_offset acaba correspondendo a SKB_SMALL_HEAD_HEADROOM, fazendo com que skb_kfree_head() libere incorretamente o objeto para skb_small_head_cache em vez de devolvê-lo ao cache original do kmalloc, resultando em uma liberação entre caches do slab: kmem_cache_free(skbuff_small_head): Wrong slab cache. Expected skbuff_small_head but got kmalloc-1k Corrija isso chamando sempre kfree(head) em skb_kfree_head(). Isso mantém o caminho de liberação genérico e evita classificação incorreta específica do alocador para objetos KFENCE.
Fontes
1POC para CVE-2026-31429 (Linux Kernel >= 6.3 < 6.12.82 Slab Cross-Cache Confusion) - vulnerabilidade descoberta por Antonius - w1sdom - bluedragonsec.com
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.