CVE-2026-53069
NoneCVSS
—
EPSS
0.4%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A flaw in Linux networking can let certain advanced network configurations crash the whole system, causing outages until the server is restarted and patched.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is a Linux kernel denial-of-service flaw in the networking/XDP path. When XDP master redirection is globally enabled by attaching native XDP to any bonding device, packets processed through another bond slave can reach xdp_master_redirect() even if that bond master was never brought up. In round-robin bonding mode, the kernel then calls into bonding transmit-slave selection and dereferences bond->rr_tx_counter before it has been allocated by bond_open(), causing a NULL pointer dereference and kernel panic. The practical technical result is a host crash, not code execution or data disclosure based on the available information.
Why it matters to the business
Successful exploitation can abruptly crash affected Linux systems, interrupting applications, network services, container workloads, storage traffic, or virtualization hosts that depend on them. The risk is highest on systems using Linux bonding with XDP/eBPF networking features, such as high-performance network appliances, load balancers, Kubernetes nodes with advanced datapaths, or custom packet-processing hosts. This issue is not currently listed in CISA KEV, is not known to be used in ransomware campaigns, has no reported public exploit maturity, and has a low EPSS score, so broad opportunistic exploitation appears unlikely; however, impact can still be severe for exposed or multi-tenant systems where users can influence network namespaces, BPF/XDP, or bonding configuration.
How an attack unfolds
An attacker first needs a way to influence privileged networking configuration or packet processing on a vulnerable Linux host, typically through CAP_NET_ADMIN, BPF/XDP privileges, a privileged container, a compromised network-management component, or an already-misconfigured host. They arrange for native XDP to be attached to at least one bonding device, which enables the global bpf_master_redirect_enabled_key. They then create or use a round-robin bond master that has not been brought up, meaning bond_open() has not allocated rr_tx_counter. By sending or generating traffic that exercises the XDP_TX to xdp_master_redirect() path through a slave of the unopened master, the kernel calls bond_xdp_get_xmit_slave(), reaches bond_rr_gen_slave_id(), dereferences the NULL rr_tx_counter pointer, and panics. In most realistic scenarios this is a local or adjacent privileged denial-of-service condition; purely remote exploitation would require the vulnerable bond/XDP topology to already exist and attacker-controlled traffic to reach the triggering path.
How to fix it
Apply a vendor-supplied Linux kernel update that includes the upstream fix for xdp_master_redirect() refusing to call the master do_xdp_get_xmit_slave() operation when the master device is not up. Because no exact affected or fixed package versions were provided, use the relevant distribution advisory and install the fixed kernel for each affected platform, then reboot into the patched kernel. As interim mitigations, restrict who can load BPF/XDP programs and administer network devices, avoid attaching native XDP to bonding devices on unpatched systems, avoid leaving round-robin bond masters configured but down, bring required bond masters fully up before using XDP-dependent paths, remove unused bond devices, and consider disabling or limiting unprivileged BPF where applicable. Operationally, prioritize internet-facing network appliances, container hosts, multi-tenant systems, and hosts running custom XDP/eBPF datapaths.
How to confirm the fix worked
Confirm remediation by verifying that the running kernel version matches the distribution’s fixed advisory version, not only that the package is installed. Check that systems using bonding and XDP have been rebooted into the updated kernel. Review network configuration for round-robin bond devices, down bond masters, and native XDP attachments. On representative non-production systems, validate that XDP traffic against a down bond master is dropped or reported as an XDP exception rather than causing a kernel panic. Use journalctl, dmesg, or crash dump analysis to confirm there are no new NULL pointer dereferences involving xdp_master_redirect(), bond_xdp_get_xmit_slave(), bond_xdp_xmit_roundrobin_slave_get(), or bond_rr_gen_slave_id().
Typical attack path
- Gain the ability to configure or influence Linux networking, bonding, or XDP/eBPF behavior on a vulnerable host.
- Ensure native XDP is attached to at least one bond device so the global XDP master redirect path is enabled system-wide.
- Prepare or identify a round-robin bonding master that has not been brought up and therefore has not initialized rr_tx_counter.
- Drive traffic through a slave interface such that XDP_TX invokes xdp_master_redirect() for the unopened master.
- Trigger the NULL pointer dereference in bond_rr_gen_slave_id(), causing a kernel oops or panic and service outage.
How to detect it
To determine whether this was already exploited or triggered accidentally, examine persistent kernel logs and crash artifacts rather than application logs. Useful sources include dmesg, journalctl -k, /var/log/kern.log, /var/log/messages, /var/crash, kdump/vmcore output, hypervisor reset events, BMC/IPMI system event logs, and SIEM-ingested syslog. Look for kernel oops or panic events with call traces containing xdp_master_redirect(), bond_xdp_get_xmit_slave(), bond_xdp_xmit_roundrobin_slave_get(), or bond_rr_gen_slave_id(), especially near interface, bond, XDP, eBPF, bpftool, or ip link configuration changes. Also review auditd or shell history for privileged network operations such as attaching XDP programs, creating bond interfaces, changing bond mode to balance-rr, or bringing bond masters down. If threat hunting in containerized environments, correlate crashes with privileged container starts, CNI changes, or workloads granted CAP_NET_ADMIN/CAP_BPF. There are no known named threat actors or ransomware campaigns associated with this vulnerability from the provided data.
- BUG: kernel NULL pointer dereference
- kernel panic
- Oops: 0000
- bond_rr_gen_slave_id
- xdp_master_redirect
- bond_xdp_get_xmit_slave
- bond_xdp_xmit_roundrobin_slave_get
- trace_xdp_exception
- XDP_ABORTED
- bpf_master_redirect_enabled_key
- bond->rr_tx_counter
- rr_tx_counter
- ip link set dev
- xdp obj
- bpftool net attach xdp
- mode balance-rr
- /var/crash
- vmcore
What your security team should do
- Inventory Linux systems using bonding, XDP, eBPF datapaths, high-performance packet processing, Kubernetes CNI acceleration, load balancing, or network appliance roles.
- Prioritize patching and rebooting systems where users, containers, orchestration components, or network services can influence BPF/XDP or bonding configuration.
- Restrict CAP_NET_ADMIN, CAP_BPF, privileged containers, and access to bpftool/ip link operations to trusted administrators and tightly controlled automation.
- Audit for native XDP programs attached to bond or slave interfaces and for bond masters that are configured but down, especially in round-robin mode.
- Enable kernel panic/oops collection, persistent journald or syslog forwarding, and kdump where operationally appropriate to preserve evidence of exploitation attempts.
- Monitor kernel logs for the crash signatures and function names associated with this issue.
- If patching is delayed, remove unused bond devices, avoid native XDP on bonding configurations, and disable unneeded BPF capabilities until maintenance can be completed.
The record
In the Linux kernel, the following vulnerability has been resolved: net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master syzkaller reported a kernel panic in bond_rr_gen_slave_id() reached via xdp_master_redirect(). Full decoded trace: https://syzkaller.appspot.com/bug?extid=80e046b8da2820b6ba73 bond_rr_gen_slave_id() dereferences bond->rr_tx_counter, a per-CPU counter that bonding only allocates in bond_open() when the mode is round-robin. If the bond device was never brought up, rr_tx_counter stays NULL. The XDP redirect path can still reach that code on a bond that was never opened: bpf_master_redirect_enabled_key is a global static key, so as soon as any bond device has native XDP attached, the XDP_TX -> xdp_master_redirect() interception is enabled for every slave system-wide. The path xdp_master_redirect() -> bond_xdp_get_xmit_slave() -> bond_xdp_xmit_roundrobin_slave_get() -> bond_rr_gen_slave_id() then runs against a bond that has no rr_tx_counter and crashes. Fix this in the generic xdp_master_redirect() by refusing to call into the master's ->ndo_xdp_get_xmit_slave() when the master device is not up. IFF_UP is only set after ->ndo_open() has successfully returned, so this reliably excludes masters whose XDP state has not been fully initialized. Drop the frame with XDP_ABORTED so the exception is visible via trace_xdp_exception() rather than silently falling through. This is not specific to bonding: any current or future master that defers XDP state allocation to ->ndo_open() is protected.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|