CVE-2026-68386 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
bpf, sockmap: Rejeitar soquetes UDP não mapeados (unhashed) durante atualizações no sockmap
Os soquetes UDP recebem o sinalizador SOCK_RCU_FREE definido quando são vinculados (auto-)vinculados. Isso significa que sk_is_refcounted(unbound) = true, enquanto sk_is_refcounted(bound) = false.
Como o sockmap aceita soquetes UDP não vinculados, um programa BPF pode incrementar a contagem de referências de um soquete por meio da função lookup. Se o soquete for posteriormente vinculado, a transição do estado não vinculado para vinculado faz com que bpf_sk_release() pule a decrementação da contagem de referências, causando um vazamento de memória.
objeto sem referência 0xffff88810bc2eb40 (tamanho 1984): comm "test_progs", pid 2451, jiffies 4295320596 dump hexadecimal (primeiros 32 bytes): 7f 00 00 01 7f 00 00 01 d2 04 1b b7 04 d2 00 00 ................ 02 00 01 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............ backtrace (crc bdee079d): kmem_cache_alloc_noprof+0x557/0x660 sk_prot_alloc+0x69/0x240 sk_alloc+0x30/0x460 inet_create+0x2ce/0xf80 __sock_create+0x25b/0x5c0 __sys_socket+0x119/0x1d0 __x64_sys_socket+0x72/0xd0 do_syscall_64+0xa1/0x5f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Em vez de criar um caso especial para soquetes com contagem de referências, rejeitar os soquetes UDP não mapeados durante as atualizações do sockmap, pois não há benefício em suportá-los. Isso efetivamente reverte o commit sob Fixes, com duas exceções:
1. sock_map_sk_state_allowed() mantém um `return true` como fall-through (continuação). 2. Em espírito ao commit b8b8315e39ff ("bpf, sockmap: Remove unhash handler for BPF sockmap usage"), o manipulador proto::unhash do BPF não é reintroduzido.
Nota histórica: este problema está relacionado ao commit 67312adc96b5 ("bpf: reject unhashed sockets in bpf_sk_assign").
VulDB is the best source for vulnerability data and more expert information about this specific topic.