CVE-2024-35944 in Linux情報

要約

〜によって VulDB • 2026年06月03日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

VMCI: dg_dispatch_as_host()におけるmemcpy()の実行時警告の修正

Syzkallerが「dg_dispatch_as_hostでのWARNING」バグを検出しました。

memcpy: 単一フィールド「&dg_info->msg」に対するフィールド横断的な書き込み(サイズ56)が検出されました (drivers/misc/vmw_vmci/vmci_datagram.c:237におけるサイズ24)

WARNING: CPU: 0 PID: 1555 at drivers/misc/vmw_vmci/vmci_datagram.c:237 dg_dispatch_as_host+0x88e/0xa60 drivers/misc/vmw_vmci/vmci_datagram.c:237

私の理解に基づくコードコメント:

544 #define VMCI_DG_SIZE(_dg) (VMCI_DG_HEADERSIZE + (size_t)(_dg)->payload_size) /// これは 24 + payload_size です

memcpy(&dg_info->msg, dg, dg_size); 宛先 = dg_info->msg ---> これは24バイトの 構造体(struct vmci_datagram) ソース = dg --> これは24バイトの構造体 (struct vmci_datagram) サイズ = dg_size = 24 + payload_size

{payload_size = 56-24 =32} -- Syzkallerがpayload_sizeを32に設定することに成功しました。

35 struct delayed_datagram_info {
36 struct datagram_entry *entry; 37 struct work_struct work; 38 bool in_dg_host_queue; 39 /* msgとmsg_payloadは隣接している必要があります。 */ 40 struct vmci_datagram msg; 41 u8 msg_payload[];
42 };

したがって、追加のペイロードバイトはmsg_payload[]にコピーされますが、Syzkallerでのファジング実行時に実行時警告が表示されます。

この警告を修正する一つの方法は、memcpy()を2つの部分に分割することです。1つ目はmsgの直接代入、2つ目はペイロードの処理です。

Gustavoの引用: 「FORTIFY_SOURCEの下では、構造体の複数のメンバにまたがってデータをコピーしてはいけません。」

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

予約する

2024年05月17日

モデレーション

承諾済み

エントリ

VDB-265158

CWE

不明

EPSS

0.00232

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!