CVE-2026-43464 in Linuxinfo

Zusammenfassung

von VulDB • 12.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net/mlx5e: RX, Korrektur der XDP Multi-Buf-Fragmentzählung für Legacy-RQ

XDP-Programme mit mehreren Puffern können das Layout des XDP-Puffers ändern, wenn das Programm `bpf_xdp_pull_data()` oder `bpf_xdp_adjust_tail()` aufruft. Der im Fixes-Tag referenzierte Commit korrigierte die Annahme im mlx5-Treiber, dass sich das XDP-Pufferlayout während der Programmausführung nicht ändert. Diese Korrektur führte jedoch zu einem weiteren Problem: Die verworfenen Fragmente müssen weiterhin auf Treiberebene gezählt werden, um Probleme mit der Referenzzählung von Seitenfragmenten zu vermeiden.

Ein solches Problem kann mit dem Selbsttest `test_xdp_native_adjst_tail_shrnk_data` beobachtet werden, wenn eine Nutzlast von 3600 verwendet und um 256 Bytes geschrumpft wird (ein zukünftiger Selftest-Patch): Das letzte Fragment wird vom XDP-Code freigegeben, aber vom Treiber nicht verfolgt. Dies führt zu einem negativen `pp_ref_count` während der Seitenfreigabe und dem folgenden 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: 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

Dieser Patch behebt das Problem, indem er die Fragmentzählung für alle ursprünglichen XDP-Pufferfragmente für alle relevanten XDP-Aktionen (XDP_TX, XDP_REDIRECT und XDP_PASS) durchführt. Dies entspricht im Wesentlichen der ursprünglichen Zählweise vor dem im Fixes-Tag genannten Commit.

Da frag_page weiterhin auf das ursprüngliche Ende zeigt, muss der Parameter nr_frags für xdp_update_skb_frags_info() auf eine andere Weise berechnet werden, um die neue Anzahl von Fragmenten widerzuspiegeln.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Zuständig

Linux

Reservieren

01.05.2026

Veröffentlichung

08.05.2026

Moderieren

akzeptiert

Eintrag

VDB-362228

CPE

bereit

EPSS

0.00075

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!