CVE-2026-98382
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
bpf: Weiger dev-bound-only programma's op andere apparaten
__bpf_offload_dev_match() valt terug op het vergelijken van offdev pointers na een
exacte netdev mismatch. Bound-only programma's hebben normaal gesproken NULL offdevs, dus
niet-gerelateerde netdevs vergelijken gelijk. Een gebonden programma op een
offload-geregistreerde netdev kan in plaats daarvan een echte offdev erven en een
broer/zus poort. Met CAP_BPF en CAP_net_ADMIN kan een beller
bpf(BPF_LINK_CREATE) met een ander doel ifindex om metadata kfuncs uit te voeren
gespecialiseerd voor de gebonden driver op de xdp_buff van de doeldriver. Het uitvoeren van een
veth-gebonden programma op tun leest verder dan de kale stapel xdp_buff van tun als een
veth_xdp_buff. Oeps: algemene beschermingsfout, waarschijnlijk voor niet-canoniek adres
KASAN: null-ptr-deref binnen bereik [0x0000000000000010-0x0000000000000017]
RIP: 0010:veth_xdp_rx_timestamp (drivers/net/veth.c:1673)
Oproeptracering:
... tun_build_skb (drivers/net/tun.c:1739)
tun_get_user (drivers/net/tun.c:1856)
tun_chr_write_iter (drivers/net/tun.c:2091)
vfs_write (fs/read_write.c:595 fs/read_write.c:687)
ksys_write (fs/read_write.c:739)
do_syscall_64 (arch/x86/entry/syscall_64.c:84)
entry_SYSCALL_64_after_hwframe (Arch/x86/entry/entry_64.S:121)
Kernel panic - not syncing: Fatale uitzondering in interrupt
Beperk niet-offloaded programma's tot exacte netdev-overeenkomsten en behoud de
shared-offdev f allback alleen voor echt geloste multi-port programma's.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
bpf: Reject dev-bound-only programs on other devices
__bpf_offload_dev_match() falls back to comparing offdev pointers after an
exact netdev mismatch. Bound-only programs normally have NULL offdevs, so
unrelated netdevs compare equal. A bound-only program on an
offload-registered netdev can instead inherit a real offdev and match a
sibling port. With CAP_BPF and CAP_NET_ADMIN, a caller can use
bpf(BPF_LINK_CREATE) with a different target ifindex to run metadata kfuncs
specialized for the bound driver on the target driver's xdp_buff. Running a
veth-bound program on tun reads beyond tun's bare stack xdp_buff as a
veth_xdp_buff.
Oops: general protection fault, probably for non-canonical address
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
RIP: 0010:veth_xdp_rx_timestamp (drivers/net/veth.c:1673)
Call Trace:
...
tun_build_skb (drivers/net/tun.c:1739)
tun_get_user (drivers/net/tun.c:1856)
tun_chr_write_iter (drivers/net/tun.c:2091)
vfs_write (fs/read_write.c:595 fs/read_write.c:687)
ksys_write (fs/read_write.c:739)
do_syscall_64 (arch/x86/entry/syscall_64.c:84)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)
Kernel panic - not syncing: Fatal exception in interrupt
Restrict non-offloaded programs to exact netdev matches and retain the
shared-offdev fallback only for genuinely offloaded multi-port programs.