CVE-2026-52975
NoneCVSS
—
EPSS
0.1%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
In some Linux servers that combine network cards for redundancy or speed, a software bug can cause instability or outages when that network setup is changed.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- High
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This is a Linux kernel race condition in the bonding driver’s IEEE 802.3ad/LACP handling. The vulnerable code accesses the bonding port-to-aggregator pointer without proper RCU synchronization while one path updates aggregator state and another path reads active aggregator information through rtnetlink. Under concurrent bond state changes and network link information queries, the kernel may observe inconsistent or stale state. The practical impact is most likely kernel warning, instability, incorrect bonding state reporting, network-interface disruption, or a crash; there is no public evidence of reliable privilege escalation or remote code execution.
Why it matters to the business
Systems using Linux bonding in 802.3ad/LACP mode may experience network instability or host disruption if the race is triggered. This is most relevant for servers, virtualization hosts, appliances, and storage or compute nodes that rely on bonded interfaces for availability or throughput. Current exploitation likelihood appears low: EPSS is 0.00139, it is not listed in CISA KEV, it is not associated with ransomware, and no mature public exploit is indicated. However, because kernel networking faults can affect availability, organizations using LACP bonding should still remediate through normal kernel update cycles, with higher priority for multi-tenant or containerized environments where untrusted workloads may receive CAP_NET_ADMIN or network namespace control.
How an attack unfolds
An attacker would need local ability to influence Linux network configuration or network namespace state, typically through CAP_NET_ADMIN, privileged container permissions, or another administrative pathway. They would target a host using the Linux bonding driver in 802.3ad mode, then repeatedly cause bond state transitions while concurrently querying or changing link information through rtnetlink/netlink interfaces. The objective is to win the timing window between the bonding state machine updating the port aggregator pointer and another kernel path reading active aggregator information. If successful, the kernel may process inconsistent bonding state, producing warnings, corrupted interface state, network disruption, or a denial-of-service condition. There is no indication from the provided data that this issue is remotely exploitable over the network without local network-administration privileges.
How to fix it
Apply the Linux kernel update from the relevant operating-system or appliance vendor that includes the bonding 802.3ad RCU synchronization fix for port->aggregator. No exact fixed package versions were provided, so use vendor advisories and kernel changelogs to confirm the patch is included. Reboot into the fixed kernel after installation. Where immediate patching is not possible, reduce exposure by avoiding 802.3ad/LACP bonding on untrusted or multi-tenant systems, restricting CAP_NET_ADMIN, avoiding privileged containers unless required, disabling unprivileged user namespaces where operationally feasible, and limiting who can create or modify network namespaces and bond interfaces.
How to confirm the fix worked
Confirm the running kernel is a vendor-supported build that contains the bonding driver fix implementing proper RCU handling for port->aggregator. Validate that the system has rebooted into the patched kernel, not merely installed it. Review vendor package metadata, kernel changelogs, or source patches for changes in drivers/net/bonding/bond_3ad.c involving __rcu and RCU accessors around port->aggregator. On systems that use bonding, enumerate bonded interfaces and identify those using mode 4 / 802.3ad. After patching, monitor dmesg, journald, and kernel logs during normal bond failover or link-change testing to ensure no KCSAN, WARN, oops, panic, or bonding-driver instability messages recur.
Typical attack path
- Obtain local code execution with network-administration capability, such as CAP_NET_ADMIN, privileged container access, or control of a network namespace.
- Identify or create a Linux bonding interface configured for IEEE 802.3ad/LACP mode.
- Generate repeated bond link-state or aggregator-selection changes to exercise the bonding state machine.
- Concurrently issue rtnetlink/netlink operations that request or modify link information for the bonded interface.
- Attempt to trigger the unsynchronized read/write race on the port aggregator pointer.
- Observe whether the host logs kernel warnings, loses bonded-interface stability, or crashes/reboots.
How to detect it
There are no known public exploitation campaigns, named threat actors, or ransomware use associated with this issue in the provided data. Detection should focus on signs that the vulnerable kernel path was exercised or that a local actor attempted to stress bonding and rtnetlink behavior. Review kernel logs from dmesg, journald, syslog, crash dumps, and hypervisor or appliance event logs for bonding-driver warnings, KCSAN data-race reports, kernel oopses, panics, unexpected reboots, and repeated link-state changes involving bonded interfaces. Also review audit logs and container orchestration logs for unexpected use of CAP_NET_ADMIN, privileged containers, creation or modification of bond interfaces, network namespace manipulation, and high-volume rtnetlink activity by non-standard processes. Because the likely outcome is instability rather than a persistent implant, absence of durable artifacts does not rule out an attempted trigger.
- BUG: KCSAN: data-race in bond_3ad_get_active_agg_info / bond_3ad_state_machine_handler
- bond_3ad_get_active_agg_info
- bond_3ad_state_machine_handler
- ad_port_selection_logic
- drivers/net/bonding/bond_3ad.c
- drivers/net/bonding/bond_netlink.c
- bond_fill_info
- rtnl_newlink
- rtnetlink_rcv_msg
- netlink_sendmsg
- mode 802.3ad
- mode 4
- bond0: link status definitely down
- bond0: link status definitely up
- bond0: Warning: No 802.3ad response from the link partner
What your security team should do
- Inventory Linux systems using bonding mode 802.3ad/LACP, prioritizing virtualization hosts, storage nodes, network appliances, and high-availability servers.
- Patch affected Linux kernels through the appropriate vendor channel and schedule reboots into the fixed kernel.
- Prioritize remediation for systems where containers, tenants, CI jobs, or non-administrative users may receive CAP_NET_ADMIN or privileged network namespace access.
- Restrict CAP_NET_ADMIN, privileged containers, and bond-interface management to trusted administrative workflows only.
- Monitor kernel logs for bonding-driver warnings, KCSAN race reports, netlink-triggered interface errors, unexplained bond failovers, and host crashes.
- If patching is delayed, consider temporarily avoiding 802.3ad bonding on exposed multi-tenant systems or moving critical workloads to already patched hosts.
- Track vendor advisories because exact fixed package versions were not provided in the input.
The record
In the Linux kernel, the following vulnerability has been resolved: bonding: 3ad: implement proper RCU rules for port->aggregator syzbot found a data-race in bond_3ad_get_active_agg_info / bond_3ad_state_machine_handler [1] which hints at lack of proper RCU implementation. Add __rcu qualifier to port->aggregator, and add proper RCU API. [1] BUG: KCSAN: data-race in bond_3ad_get_active_agg_info / bond_3ad_state_machine_handler write to 0xffff88813cf5c4b0 of 8 bytes by task 36 on cpu 0: ad_port_selection_logic drivers/net/bonding/bond_3ad.c:1659 [inline] bond_3ad_state_machine_handler+0x9d5/0x2d60 drivers/net/bonding/bond_3ad.c:2569 process_one_work kernel/workqueue.c:3302 [inline] process_scheduled_works+0x4f0/0x9c0 kernel/workqueue.c:3385 worker_thread+0x58a/0x780 kernel/workqueue.c:3466 kthread+0x22a/0x280 kernel/kthread.c:436 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff88813cf5c4b0 of 8 bytes by task 22063 on cpu 1: __bond_3ad_get_active_agg_info drivers/net/bonding/bond_3ad.c:2858 [inline] bond_3ad_get_active_agg_info+0x8c/0x230 drivers/net/bonding/bond_3ad.c:2881 bond_fill_info+0xe0f/0x10f0 drivers/net/bonding/bond_netlink.c:853 rtnl_link_info_fill net/core/rtnetlink.c:906 [inline] rtnl_link_fill+0x1d7/0x4e0 net/core/rtnetlink.c:927 rtnl_fill_ifinfo+0xf8e/0x1380 net/core/rtnetlink.c:2168 rtmsg_ifinfo_build_skb+0x11c/0x1b0 net/core/rtnetlink.c:4453 rtmsg_ifinfo_event net/core/rtnetlink.c:4486 [inline] rtmsg_ifinfo+0x6d/0x110 net/core/rtnetlink.c:4495 __dev_notify_flags+0x76/0x390 net/core/dev.c:9790 netif_change_flags+0xac/0xd0 net/core/dev.c:9823 do_setlink+0x905/0x2950 net/core/rtnetlink.c:3180 rtnl_group_changelink net/core/rtnetlink.c:3813 [inline] __rtnl_newlink net/core/rtnetlink.c:3981 [inline] rtnl_newlink+0xf55/0x1400 net/core/rtnetlink.c:4109 rtnetlink_rcv_msg+0x64b/0x720 net/core/rtnetlink.c:6995 netlink_rcv_skb+0x123/0x220 net/netlink/af_netlink.c:2550 rtnetlink_rcv+0x1c/0x30 net/core/rtnetlink.c:7022 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline] netlink_unicast+0x5a8/0x680 net/netlink/af_netlink.c:1344 netlink_sendmsg+0x5c8/0x6f0 net/netlink/af_netlink.c:1894 sock_sendmsg_nosec net/socket.c:787 [inline] __sock_sendmsg net/socket.c:802 [inline] ____sys_sendmsg+0x563/0x5b0 net/socket.c:2698 ___sys_sendmsg+0x195/0x1e0 net/socket.c:2752 __sys_sendmsg net/socket.c:2784 [inline] __do_sys_sendmsg net/socket.c:2789 [inline] __se_sys_sendmsg net/socket.c:2787 [inline] __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2787 x64_sys_call+0x194c/0x3020 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f value changed: 0x0000000000000000 -> 0xffff88813cf5c400 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 22063 Comm: syz.0.31122 Tainted: G W syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|