CVE-2024-26859
概要

In the Linux kernel, the following vulnerability has been resolved:

net/bnx2x: Prevent access to a freed page in page_pool

Fix race condition leading to system crash during EEH error handling

During EEH error recovery, the bnx2x driver's transmit timeout logic
could cause a race condition when handling reset tasks. The
bnx2x_tx_timeout() schedules reset tasks via bnx2x_sp_rtnl_task(),
which ultimately leads to bnx2x_nic_unload(). In bnx2x_nic_unload()
SGEs are freed using bnx2x_free_rx_sge_range(). However, this could
overlap with the EEH driver's attempt to reset the device using
bnx2x_io_slot_reset(), which also tries to free SGEs. This race
condition can result in system crashes due to accessing freed memory
locations in bnx2x_free_rx_sge()

799 static inline void bnx2x_free_rx_sge(struct bnx2x *bp,
800 struct bnx2x_fastpath *fp, u16 index)
801 {
802 struct sw_rx_page *sw_buf = &fp->rx_page_ring[index];
803 struct page *page = sw_buf->page;
....
where sw_buf was set to NULL after the call to dma_unmap_page()
by the preceding thread.

EEH: Beginning: 'slot_reset'
PCI 0011:01:00.0#10000: EEH: Invoking bnx2x->slot_reset()
bnx2x: [bnx2x_io_slot_reset:14228(eth1)]IO slot reset initializing...
bnx2x 0011:01:00.0: enabling device (0140 -> 0142)
bnx2x: [bnx2x_io_slot_reset:14244(eth1)]IO slot reset --> driver unload
Kernel attempted to read user page (0) - exploit attempt? (uid: 0)
BUG: Kernel NULL pointer dereference on read at 0x00000000
Faulting instruction address: 0xc0080000025065fc
Oops: Kernel access of bad area, sig: 11 [#1]
.....
Call Trace:
[c000000003c67a20] [c00800000250658c] bnx2x_io_slot_reset+0x204/0x610 [bnx2x] (unreliable)
[c000000003c67af0] [c0000000000518a8] eeh_report_reset+0xb8/0xf0
[c000000003c67b60] [c000000000052130] eeh_pe_report+0x180/0x550
[c000000003c67c70] [c00000000005318c] eeh_handle_normal_event+0x84c/0xa60
[c000000003c67d50] [c000000000053a84] eeh_event_handler+0xf4/0x170
[c000000003c67da0] [c000000000194c58] kthread+0x1c8/0x1d0
[c000000003c67e10] [c00000000000cf64] ret_from_kernel_thread+0x5c/0x64

To solve this issue, we need to verify page pool allocations before
freeing.

公表日 2024年4月17日20:15
登録日 2024年4月18日10:01
最終更新日 2025年3月4日2:47
CVSS3.1 : MEDIUM
スコア 4.7
ベクター CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
攻撃元区分(AV) ローカル
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR)
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C) なし
完全性への影響(I) なし
可用性への影響(A)
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 6.7.11
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 6.6.23
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 6.1.83
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 5.15.153
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 5.10.214
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 5.4.273
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.2 4.19.311
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 6.8.2
構成2 以上 以下 より上 未満
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧

JVN脆弱性情報
Linux の Linux Kernel 等複数ベンダの製品における競合状態に関する脆弱性
タイトル Linux の Linux Kernel 等複数ベンダの製品における競合状態に関する脆弱性
概要

Linux の Linux Kernel 等複数ベンダの製品には、競合状態に関する脆弱性が存在します。

想定される影響 サービス運用妨害 (DoS) 状態にされる可能性があります。 
対策

ベンダより正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2024年3月19日0:00
登録日 2025年3月13日15:49
最終更新日 2025年3月13日15:49
影響を受けるシステム
Debian
Debian GNU/Linux 10.0
Linux
Linux Kernel 4.2 以上 4.19.311 未満
Linux Kernel 4.20 以上 5.4.273 未満
Linux Kernel 5.11 以上 5.15.153 未満
Linux Kernel 5.16 以上 6.1.83 未満
Linux Kernel 5.5 以上 5.10.214 未満
Linux Kernel 6.2 以上 6.6.23 未満
Linux Kernel 6.7 以上 6.7.11 未満
Linux Kernel 6.8 以上 6.8.2 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2025年03月13日]
  掲載
2025年3月13日15:49