Skip to main content
VulnerabilityPublished Updated

CVE-2026-23310: Linux kernel · bpf/bonding: reject vlan+srcmac xmit_hash_policy change when XDP is loaded

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in e85fa809e507b9d8eff4840888b8c727e4e8448c : update Linux kernel when convenient.

Data as of 5 Nov 2026, 23:24 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
EPSS
0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-05.

Patch
Available – fixed in e85fa809e507b9d8eff4840888b8c727e4e8448c, d36ad7e126c6a0c5f699583309ccc37e3a3263ea, 479d589b40b836442bbdadc3fdb37f001bb67f26 +3

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Mar 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < e85fa809e507b9d8eff4840888b8c727e4e8448c
Fixed in
  • e85fa809e507b9d8eff4840888b8c727e4e8448c
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < d36ad7e126c6a0c5f699583309ccc37e3a3263ea
Fixed in
  • d36ad7e126c6a0c5f699583309ccc37e3a3263ea
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < 479d589b40b836442bbdadc3fdb37f001bb67f26
Fixed in
  • 479d589b40b836442bbdadc3fdb37f001bb67f26
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < 5c262bd0e39320a6d6c8277cb8349ce21c01b8c1
Fixed in
  • 5c262bd0e39320a6d6c8277cb8349ce21c01b8c1
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < 0ace8027e41f6f094ef6c1aca42d2ed6cd7af54e
Fixed in
  • 0ace8027e41f6f094ef6c1aca42d2ed6cd7af54e
LinuxLinuxAffected
  • ≥ 39a0876d595bd7c7512782dfcce0ee66f65bf221, < 0a80e6ecaf669c77260b44254f4a84d76bf83e89
Fixed in
  • 0a80e6ecaf669c77260b44254f4a84d76bf83e89

Description

In the Linux kernel, the following vulnerability has been resolved: bpf/bonding: reject vlan+srcmac xmit_hash_policy change when XDP is loaded bond_option_mode_set() already rejects mode changes that would make a loaded XDP program incompatible via bond_xdp_check(). However, bond_option_xmit_hash_policy_set() has no such guard. For 802.3ad and balance-xor modes, bond_xdp_check() returns false when xmit_hash_policy is vlan+srcmac, because the 802.1q payload is usually absent due to hardware offload. This means a user can: 1. Attach a native XDP program to a bond in 802.3ad/balance-xor mode with a compatible xmit_hash_policy (e.g. layer2+3). 2. Change xmit_hash_policy to vlan+srcmac while XDP remains loaded. This leaves bond->xdp_prog set but bond_xdp_check() now returning false for the same device. When the bond is later destroyed, dev_xdp_uninstall() calls bond_xdp_set(dev, NULL, NULL) to remove the program, which hits the bond_xdp_check() guard and returns -EOPNOTSUPP, triggering: WARN_ON(dev_xdp_install(dev, mode, bpf_op, NULL, 0, NULL)) Fix this by rejecting xmit_hash_policy changes to vlan+srcmac when an XDP program is loaded on a bond in 802.3ad or balance-xor mode. commit 39a0876d595b ("net, bonding: Disallow vlan+srcmac with XDP") introduced bond_xdp_check() which returns false for 802.3ad/balance-xor modes when xmit_hash_policy is vlan+srcmac. The check was wired into bond_xdp_set() to reject XDP attachment with an incompatible policy, but the symmetric path -- preventing xmit_hash_policy from being changed to an incompatible value after XDP is already loaded -- was left unguarded in bond_option_xmit_hash_policy_set(). Note: commit 094ee6017ea0 ("bonding: check xdp prog when set bond mode") later added a similar guard to bond_option_mode_set(), but bond_option_xmit_hash_policy_set() remained unprotected.

References

Community reviews

Loading reviews…