Description
In the Linux kernel, the following vulnerability has been resolved:

bonding: alb: re-check primary_is_promisc under RTNL in bond_alb_monitor

bond_alb_monitor() reads primary_is_promisc under RCU, then drops RCU and
takes RTNL via rtnl_trylock() before undoing the promiscuity it set on the
active slave. In that window the active slave can change under RTNL
(RTM_DELLINK -> __bond_release_one() -> bond_alb_handle_active_change()),
which already drops the promiscuity and clears primary_is_promisc. The
monitor still acts on the stale decision: if the slave was removed with no
failover, curr_active_slave is now NULL and the deref faults; if it failed
over, the stale dev_set_promiscuity(-1) underflows the new slave's
promiscuity counter and pins it in IFF_PROMISC.

Oops: general protection fault, probably for non-canonical address ...
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
Workqueue: b42 bond_alb_monitor
RIP: 0010:bond_alb_monitor (drivers/net/bonding/bond_alb.c:1600)
process_one_work (kernel/workqueue.c:3322)
worker_thread (kernel/workqueue.c:3486)
kthread (kernel/kthread.c:436)
ret_from_fork (arch/x86/kernel/process.c:158)
Kernel panic - not syncing: Fatal exception

Re-check primary_is_promisc (and curr_active_slave) after taking RTNL so
the monitor only undoes an increment it still owns. The other bonding
monitors already re-read state under RTNL in their commit phase
(bond_miimon_commit/bond_ab_arp_commit); bond_alb_monitor() was the only
one acting on the pre-trylock decision.
Published: 2026-08-22
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service (Kernel Crash)
Action: Apply Patch
AI Analysis

Impact

The vulnerability occurs in the Linux bonding driver when the bond_alb_monitor function evaluates the primary_is_promisc flag while RCU is held but before acquiring the RTNL lock. After the lock is obtained, the monitor continues to act on the stale value, even though the active bond slave may have been removed or switched. This race can result in a NULL pointer dereference or a counter underflow that pins a new slave in promiscuous mode. Those conditions trigger a kernel OOPS and a fatal exception, bringing the entire system down. The weakness is a race condition coupled with an unchecked pointer.

Affected Systems

The problem is present in all Linux kernel builds that include the bonding driver without the recent patch. The affected component is the bonding module (drivers/net/bonding/bond_alb.c). No specific kernel version range is stated, so any unrepaired kernel that ships these code paths is vulnerable.

Risk and Exploitability

The CVSS score of 7.3 indicates a high severity of a local denial‑of‑service outcome. The EPSS score is below 1%, signaling a low probability of exploitation in the wild. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires the ability to modify or delete bond members, which usually needs CAP_NET_ADMIN or root privileges; this requirement is inferred from the nature of bonding configuration changes. A local attacker with sufficient privileges could trigger the race by toggling a bond slave while the monitor is active, leading to a system crash.

Generated by OpenCVE AI on August 25, 2026 at 11:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest kernel update that includes the fix for bond_alb_monitor which re‑checks primary_is_promisc after acquiring the RTNL lock.
  • If a kernel update cannot be applied immediately, disable or remove any bonding interfaces operating in ALB mode until the patch is installed.
  • Restrict the CAP_NET_ADMIN capability to trusted users so that unprivileged accounts cannot reconfigure or delete bond members.

Generated by OpenCVE AI on August 25, 2026 at 11:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Tue, 25 Aug 2026 12:15:00 +0000


Tue, 25 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-476

Tue, 25 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CWE-476

Tue, 25 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H'}


Sat, 22 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416
CWE-476

Sat, 22 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bonding: alb: re-check primary_is_promisc under RTNL in bond_alb_monitor bond_alb_monitor() reads primary_is_promisc under RCU, then drops RCU and takes RTNL via rtnl_trylock() before undoing the promiscuity it set on the active slave. In that window the active slave can change under RTNL (RTM_DELLINK -> __bond_release_one() -> bond_alb_handle_active_change()), which already drops the promiscuity and clears primary_is_promisc. The monitor still acts on the stale decision: if the slave was removed with no failover, curr_active_slave is now NULL and the deref faults; if it failed over, the stale dev_set_promiscuity(-1) underflows the new slave's promiscuity counter and pins it in IFF_PROMISC. Oops: general protection fault, probably for non-canonical address ... KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] Workqueue: b42 bond_alb_monitor RIP: 0010:bond_alb_monitor (drivers/net/bonding/bond_alb.c:1600) process_one_work (kernel/workqueue.c:3322) worker_thread (kernel/workqueue.c:3486) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) Kernel panic - not syncing: Fatal exception Re-check primary_is_promisc (and curr_active_slave) after taking RTNL so the monitor only undoes an increment it still owns. The other bonding monitors already re-read state under RTNL in their commit phase (bond_miimon_commit/bond_ab_arp_commit); bond_alb_monitor() was the only one acting on the pre-trylock decision.
Title bonding: alb: re-check primary_is_promisc under RTNL in bond_alb_monitor
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-25T05:42:07.173Z

Reserved: 2026-08-15T05:44:03.929Z

Link: CVE-2026-74726

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:47.673

Modified: 2026-08-25T06:18:58.980

Link: CVE-2026-74726

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-22T00:00:00Z

Links: CVE-2026-74726 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T11:15:04Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-476

    NULL Pointer Dereference