bpf/bonding: reject vlan+srcmac xmit_hash_policy change when XDP is loaded
CVE-2026-23310 is fixed in 80 products on 1 platform, first by DEBIAN-CVE-2026-23310, released March 25, 2026. It is not reported as exploited. Patch Radar priority: High.
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.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool6.12 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| bpftool6.12-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| bpftool6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel-livepatch-6.12.77-99.140 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel-livepatch-6.18.20-20.229 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel-uek · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-debug-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-doc · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-doc · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-tools · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek-tools · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-devel · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-devel · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-core · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-core · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-deprecated · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-deprecated · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-desktop · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-desktop · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra-netfilter · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-extra-netfilter · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-usb · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-usb · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-wireless · ol 10 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel-uek64k-modules-wireless · ol 9 | 0:6.12.0-204.92.4.2.el9uek | ELSA-2026-50372 | Jul 2, 2026 |
| kernel6.12 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-debuginfo-common-aarch64 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-debuginfo-common-x86_64 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-devel · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-headers · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-libbpf · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-libbpf-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-libbpf-devel · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-libbpf-static · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-modules-extra · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-modules-extra-common · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-tools · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-tools-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.12-tools-devel · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-libbpf-static · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| linux · Debian 12.15 (bookworm) | 6.1.176-1 | DEBIAN-CVE-2026-23310 | Mar 25, 2026 |
| linux · Debian 13.5 (trixie) | 6.12.85-1 | DEBIAN-CVE-2026-23310 | Mar 25, 2026 |
| linux · Debian 14 | 6.19.8-1 | DEBIAN-CVE-2026-23310 | Mar 25, 2026 |
| perf6.12 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| perf6.12-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| python3-perf6.12 · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| python3-perf6.12-debuginfo · amzn 2023 | 1:6.12.77-99.140.amzn2023 | ALAS2023-2026-1543 | Apr 7, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.20-20.229.amzn2023 | ALAS2023-2026-1596 | Apr 27, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.