CVE-2026-43464 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 22.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net/mlx5e: RX, 레거시 RQ에 대한 XDP 다중 버퍼 조각(fragment) 카운팅 수정

XDP 다중 버퍼 프로그램은 `bpf_xdp_pull_data()` 또는 `bpf_xdp_adjust_tail()` 호출 시 XDP 버퍼의 레이아웃을 수정할 수 있습니다. 수정 태그(fixes tag)의 참조 커밋은 mlx5 드라이버에서 XDP 버퍼 레이아웃이 프로그램 실행 중 변경되지 않는다는 잘못된 가정은 수정했습니다. 그러나 이 수정은 또 다른 문제를 도입했습니다: 삭제된 조각(dropped fragments)은 페이지 조각 참조 카운팅(page fragment reference counting) 문제를 피하기 위해 드라이버 측에서 여전히 카운팅되어야 합니다.

이러한 문제는 페이로드가 3600이고 256바이트만큼 축소(shrinking)되는 경우(차후 selftest 패치 예정), `test_xdp_native_adjst_tail_shrnk_data` selftest를 사용할 때 관찰할 수 있습니다. 마지막 조각은 XDP 코드에 의해 해제되지만 드라이버에 의해 추적되지 않습니다. 이로 인해 페이지 해제 시 `pp_ref_count`가 음수가 되고 다음과 같은 스플래트(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

이 패치는 관련 XDP 작업(XDP_TX, XDP_REDIRECT, XDP_PASS)에 대해 모든 원래 XDP 버퍼 조각에 대해 페이지 조각 카운팅을 수행하여 이 문제를 해결합니다. 이는 기본적으로 수정 태그의 참조 커밋 이전의 원래 카운팅 방식으로 되돌리는 것입니다.

frag_page가 여전히 원래 꼬리(tail)를 가리키고 있으므로, xdp_update_skb_frags_info()에 대한 nr_frags 매개변수는 새로운 nr_frags를 반영하기 위해 다른 방식으로 계산되어야 합니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Linux

예약하다

2026. 05. 01.

모더레이션

수락

항목

VDB-362228

EPSS

0.00075

출처

Interested in the pricing of exploits?

See the underground prices here!