CVE-2026-98381
NoneCVSS
—
EPSS
0.2%
Published
Oct 9, 2026
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel's handling of virtual network interfaces can cause the entire system to crash when network settings are adjusted while certain security programs are active.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in the veth driver where veth_set_channels tears down XDP resources on removed RX queues without clearing rq->xdp_prog, allowing a freed BPF program to be invoked later via NAPI after bpf_prog_put when channels are resized.
Why it matters to the business
Kernel crashes and panics on systems using veth interfaces with XDP programs, causing denial of service, service disruption, and potential data loss in virtualized or container networking environments.
How an attack unfolds
An attacker with local privileges resizes veth channels to remove RX queues while an XDP program is attached, detaches or replaces the program to trigger bpf_prog_put on the dangling pointer, then increases channels again to re-enable NAPI and execute the freed program, resulting in a page fault and panic.
How to fix it
Update the Linux kernel to a version containing the veth XDP program pointer management fix during channel resize; rebuild and deploy the patched kernel across affected hosts.
How to confirm the fix worked
Verify the running kernel contains the commit resolving veth_set_channels XDP pointer clearing; reproduce channel resize operations under XDP load and confirm absence of use-after-free oops or panics.
Typical attack path
- Obtain local access on a Linux system using veth interfaces
- Attach an XDP program to a veth device
- Call veth_set_channels to reduce the number of RX queues
- Detach or replace the XDP program
- Increase the channel count to re-enable NAPI polling
- Trigger packet reception on the affected queue to execute the freed program
How to detect it
Search kernel logs and dmesg for oops messages referencing veth_xdp_rcv_skb, page faults at addresses in XDP filter paths, or call traces involving veth_poll and __napi_poll following channel resize operations.
- veth_xdp_rcv_skb
- BUG: unable to handle page fault for address
- Oops: 0000 [#1] SMP KASAN
- RIP: veth_xdp_rcv_skb
- veth_xdp_rcv
- veth_poll
- include/linux/filter.h:779
What your security team should do
- Prioritize kernel updates on all systems using veth with XDP within the next patch cycle
- Audit veth interface configurations and XDP usage in production environments
- Monitor kernel logs for veth-related page faults and panics
- Limit unprivileged channel resizing where feasible via capabilities or namespaces
The record
In the Linux kernel, the following vulnerability has been resolved: veth: manage XDP program pointers during channel resize veth_set_channels() tears down XDP resources for removed RX queues without clearing rq->xdp_prog. If the program is then detached or replaced, those queues keep the old pointer after bpf_prog_put(). A later channel increase can re-enable NAPI and run the freed program. BUG: unable to handle page fault for address: ffffc90000256048 Oops: Oops: 0000 [#1] SMP KASAN NOPTI RIP: veth_xdp_rcv_skb (include/linux/filter.h:779 include/net/xdp.h:696 drivers/net/veth.c:820) Call Trace: veth_xdp_rcv (drivers/net/veth.c:941) veth_poll (drivers/net/veth.c:986) __napi_poll (net/core/dev.c:7787) net_rx_action (net/core/dev.c:7850 net/core/dev.c:8007) handle_softirqs (kernel/softirq.c:645) Kernel panic - not syncing: Fatal exception in interrupt
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|