CVE-2026-43464 json
net/mlx5e: RX, Fix XDP multi-buf frag counting for legacy RQ
published 2026-05-08 6 mo ago modified 2026-10-21 19 d ago also EUVD-2026-28770
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: RX, Fix XDP multi-buf frag counting for legacy RQ
XDP multi-buf programs can modify the layout of the XDP buffer when the program calls bpf_xdp_pull_data() or bpf_xdp_adjust_tail(). The referenced commit in the fixes tag corrected the assumption in the mlx5 driver that the XDP buffer layout doesn't change during a program execution. However, this fix introduced another issue: the dropped fragments still need to be counted on the driver side to avoid page fragment reference counting issues.
Such issue can be observed with the test_xdp_native_adjst_tail_shrnk_data selftest when using a payload of 3600 and shrinking by 256 bytes (an upcoming selftest patch): the last fragment gets released by the XDP code but doesn't get tracked by the driver. This results in a negative pp_ref_count during page release and the following splat:
WARNING: include/net/page_pool/helpers.h:297 at mlx5e_page_release_fragmented.isra.0+0x4a/0x50 [mlx5_core], CPU#12: ip/3137 Modules linked in: [...] CPU: 12 UID: 0 PID: 3137 Comm: ip Not tainted 6.19.0-rc3+ #12 NONE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 RIP: 0010:mlx5e_page_release_fragmented.isra.0+0x4a/0x50 [mlx5_core] [...] Call Trace: <TASK> mlx5e_dealloc_rx_wqe+0xcb/0x1a0 [mlx5_core] mlx5e_free_rx_descs+0x7f/0x110 [mlx5_core] mlx5e_close_rq+0x50/0x60 [mlx5_core] mlx5e_close_queues+0x36/0x2c0 [mlx5_core] mlx5e_close_channel+0x1c/0x50 [mlx5_core] mlx5e_close_channels+0x45/0x80 [mlx5_core] mlx5e_safe_switch_params+0x1a5/0x230 [mlx5_core] mlx5e_change_mtu+0xf3/0x2f0 [mlx5_core] netif_set_mtu_ext+0xf1/0x230 do_setlink.isra.0+0x219/0x1180 rtnl_newlink+0x79f/0xb60 rtnetlink_rcv_msg+0x213/0x3a0 netlink_rcv_skb+0x48/0xf0 netlink_unicast+0x24a/0x350 netlink_sendmsg+0x1ee/0x410 __sock_sendmsg+0x38/0x60 ____sys_sendmsg+0x232/0x280 ___sys_sendmsg+0x78/0xb0 __sys_sendmsg+0x5f/0xb0 [...] do_syscall_64+0x57/0xc50
This patch fixes the issue by doing page frag counting on all the original XDP buffer fragments for all relevant XDP actions (XDP_TX , XDP_REDIRECT and XDP_PASS). This is basically reverting to the original counting before the commit in the fixes tag.
As frag_page is still pointing to the original tail, the nr_frags parameter to xdp_update_skb_frags_info() needs to be calculated in a different way to reflect the new nr_frags.
Patch / fix
- Linux Linux 6.6.160, 6.12.114, 6.18, 6.18.19, 6.19.9, 7.0
- linux Debian 13 6.12.115-2
- linux Debian 14 6.19.10-1
debian advisories DEBIAN-CVE-2026-43464
- linux-nvidia-tegra Ubuntu 24.04 LTS 6.8.0-1035.38
ubuntu advisories UBUNTU-CVE-2026-43464
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- git.kernel.org/stable/c/1106412414dc3ee62999115be10ca83199b02108 commit
- git.kernel.org/stable/c/9488ee96b4f53d2aed474c744f0ed64f61d1dcc9 commit
- git.kernel.org/stable/c/c74557495efb4bd0adefdfc8678ecdbc82a06da3 commit
- git.kernel.org/stable/c/03cb50e5b74fce8bf6d92b860371b66253cf0f8d commit
- git.kernel.org/stable/c/a6413e6f6c9d9bb9833324cb3753582f7bc0f2fa commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-43464 updated cvss 5.5
kernel: net/mlx5e: RX, Fix XDP multi-buf frag counting for legacy RQ
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “To mitigate this issue, prevent the mlx5_core module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.”
-
Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “To mitigate this issue, prevent the mlx5_core module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/1106412414dc3ee62999115be10ca83199b02108
- git.kernel.org /stable/c/9488ee96b4f53d2aed474c744f0ed64f61d1dcc9
-
git.kernel.org
/stable/c/c74557495efb4bd0adefdfc8678ecdbc82a06da3
patch
-
git.kernel.org
/stable/c/03cb50e5b74fce8bf6d92b860371b66253cf0f8d
patch
-
git.kernel.org
/stable/c/a6413e6f6c9d9bb9833324cb3753582f7bc0f2fa
patch
Sources
- CVE List CVE-2026-43464
- NVD CVE-2026-43464
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.