CVE-2026-64048 in Linux
要約
〜によって VulDB • 2026年07月20日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
net/smc: 空のism_devスロットと一致するCHID-0 ACCEPTを拒否する
SMC-Dクライアントでは、ini->ism_dev[]/ini->ism_chid[]のインデックス0はSMC-Dv1デバイス用に予約されています。smc_find_ism_v2_device_clnt()関数はV2エントリをインデックス1から開始して埋めるため、V1デバイスが選択されない場合、スロット0はkzalloc()による初期化状態のまま残り、ism_dev[0] == NULLおよびism_chid[0] == 0となります。
その後、smc_v2_determine_accepted_chid()関数は、CHIDのみを使用してインデックス0から始まる配列に対してピアのCHIDと一致するかどうかをチェックします。SMC-Dv2専用の提案に対しd1.chid == 0で応答する悪意のあるピアは空のスロットと一致し、ini->ism_selectedが0になります。これにより、smc_conn_create()内の後続処理でism_dev[0]->lgr_lockの参照が行われますが、offsetof(struct smcd_dev, lgr_lock) == 0x68においてNULLポインタ参照によるフォールトが発生します:
BUG: KASAN: null-ptr-deref in _raw_spin_lock_bh+0x79/0xe0 Write of size 4 at addr 0000000000000068 by task exploit/144 Call Trace: _raw_spin_lock_bh smc_conn_create (net/smc/smc_core.c:1997) __smc_connect (net/smc/af_smc.c:1447) smc_connect (net/smc/af_smc.c:1720) __sys_connect __x64_sys_connect do_syscall_64
CHIDの一致を受け入れる前に、ism_dev[i]がNULLでないことを要求します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.