CVE-2024-26766
概要

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

IB/hfi1: Fix sdma.h tx->num_descs off-by-one error

Unfortunately the commit `fd8958efe877` introduced another error
causing the `descs` array to overflow. This reults in further crashes
easily reproducible by `sendmsg` system call.

[ 1080.836473] general protection fault, probably for non-canonical address 0x400300015528b00a: 0000 [#1] PREEMPT SMP PTI
[ 1080.869326] RIP: 0010:hfi1_ipoib_build_ib_tx_headers.constprop.0+0xe1/0x2b0 [hfi1]
--
[ 1080.974535] Call Trace:
[ 1080.976990] <TASK>
[ 1081.021929] hfi1_ipoib_send_dma_common+0x7a/0x2e0 [hfi1]
[ 1081.027364] hfi1_ipoib_send_dma_list+0x62/0x270 [hfi1]
[ 1081.032633] hfi1_ipoib_send+0x112/0x300 [hfi1]
[ 1081.042001] ipoib_start_xmit+0x2a9/0x2d0 [ib_ipoib]
[ 1081.046978] dev_hard_start_xmit+0xc4/0x210
--
[ 1081.148347] __sys_sendmsg+0x59/0xa0

crash> ipoib_txreq 0xffff9cfeba229f00
struct ipoib_txreq {
txreq = {
list = {
next = 0xffff9cfeba229f00,
prev = 0xffff9cfeba229f00
},
descp = 0xffff9cfeba229f40,
coalesce_buf = 0x0,
wait = 0xffff9cfea4e69a48,
complete = 0xffffffffc0fe0760 <hfi1_ipoib_sdma_complete>,
packet_len = 0x46d,
tlen = 0x0,
num_desc = 0x0,
desc_limit = 0x6,
next_descq_idx = 0x45c,
coalesce_idx = 0x0,
flags = 0x0,
descs = {{
qw = {0x8024000120dffb00, 0x4} # SDMA_DESC0_FIRST_DESC_FLAG (bit 63)
}, {
qw = { 0x3800014231b108, 0x4}
}, {
qw = { 0x310000e4ee0fcf0, 0x8}
}, {
qw = { 0x3000012e9f8000, 0x8}
}, {
qw = { 0x59000dfb9d0000, 0x8}
}, {
qw = { 0x78000e02e40000, 0x8}
}}
},
sdma_hdr = 0x400300015528b000, <<< invalid pointer in the tx request structure
sdma_status = 0x0, SDMA_DESC0_LAST_DESC_FLAG (bit 62)
complete = 0x0,
priv = 0x0,
txq = 0xffff9cfea4e69880,
skb = 0xffff9d099809f400
}

If an SDMA send consists of exactly 6 descriptors and requires dword
padding (in the 7th descriptor), the sdma_txreq descriptor array is not
properly expanded and the packet will overflow into the container
structure. This results in a panic when the send completion runs. The
exact panic varies depending on what elements of the container structure
get corrupted. The fix is to use the correct expression in
_pad_sdma_tx_descs() to test the need to expand the descriptor array.

With this patch the crashes are no longer reproducible and the machine is
stable.

公表日 2024年4月4日2:15
登録日 2024年4月4日10:00
最終更新日 2025年2月28日6:59
CVSS3.1 : MEDIUM
スコア 5.5
ベクター CVSS:3.1/AV:L/AC:L/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.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 6.7.7
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.291 4.19.308
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.251 5.4.270
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.188 5.10.211
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.99 5.15.150
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.16 6.1.80
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2.3 6.6.19
構成2 以上 以下 より上 未満
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
関連情報、対策とツール
共通脆弱性一覧

JVN脆弱性情報
Linux の Linux Kernel 等複数ベンダの製品における境界条件の判定に関する脆弱性
タイトル Linux の Linux Kernel 等複数ベンダの製品における境界条件の判定に関する脆弱性
概要

Linux の Linux Kernel 等複数ベンダの製品には、境界条件の判定に関する脆弱性が存在します。

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

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

公表日 2024年2月4日0:00
登録日 2025年3月10日17:48
最終更新日 2025年8月20日17:35
影響を受けるシステム
Debian
Debian GNU/Linux 10.0
Linux
Linux Kernel 4.19.291 以上 4.19.308 未満
Linux Kernel 5.10.188 以上 5.10.211 未満
Linux Kernel 5.15.99 以上 5.15.150 未満
Linux Kernel 5.4.251 以上 5.4.270 未満
Linux Kernel 6.1.16 以上 6.1.80 未満
Linux Kernel 6.2.3 以上 6.6.19 未満
Linux Kernel 6.7 以上 6.7.7 未満
Linux Kernel 6.8
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2025年03月10日]
  掲載
2025年3月10日17:48
2 [2025年08月20日]
  参考情報:JVN (JVNVU#92169998) を追加
  参考情報:ICS-CERT ADVISORY (ICSA-25-226-15) を追加
2025年8月20日12:34