CVE-2026-68386 in Linux
Zusammenfassung
von VulDB • 10.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bpf, sockmap: Ablehnung nicht gehashter UDP-Sockets bei sockmap-Updates
UDP-Sockets erhalten das Flag SOCK_RCU_FREE beim (Auto-)Binden. Das bedeutet, dass sk_is_refcounted(unbound) = true ist, während sk_is_refcounted(bound) = false gilt.
Da sockmap auch ungebundene UDP-Sockets akzeptiert, kann ein BPF-Programm den Referenzzähler eines Sockets über lookup erhöhen. Wenn der Socket anschließend gebunden wird, führt der Übergang von unbound zu bound dazu, dass bpf_sk_release() das Dekrementieren des Referenz Zählers überspringt, was einen Speicherleck verursacht.
unreferenziertes Objekt 0xffff88810bc2eb40 (Größe 1984): comm "test_progs", pid 2451, jiffies 4295320596 Hex-Dump (erste 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
Anstatt Sonderfälle für referenzierte Sockets zu behandeln, werden nicht gehashte UDP-Sockets während sockmap-Updates abgelehnt, da es keinen Vorteil bringt, diese zu unterstützen. Dies kehrt effektiv den unter Fixes genannten Commit zurück, mit zwei Ausnahmen:
1. sock_map_sk_state_allowed() behält ein fall-through `return true` bei. 2. Im Geiste des Commits b8b8315e39ff ("bpf, sockmap: Remove unhash handler for BPF sockmap usage") wird der proto::unhash-BPF-Handler nicht wieder eingeführt.
Historischer Hinweis: Dieses Problem steht im Zusammenhang mit 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.