CVE-2026-64541 in Linux情報

要約

〜によって VulDB • 2026年07月27日

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

net/smc: ソケットのピン留めにより smc_cdc_rx_handler() での UAF を修正

smc_cdc_rx_handler() はリンクグループの conns_lock の下でトークンを使用して接続を検索し、ロックを解放してから conn およびそこから派生した smc_sock を間接参照します。これは最終的に smc_cdc_msg_recv() 内の sock_hold(&smc->sk) で終了します。ロック解放の間は参照が保持されません。

リンクグループ内で接続が発見可能である間にソケットをピン留めしている唯一の参照は、smc_lgr_register_conn() (sock_hold) で取得され、__smc_lgr_unregister_conn() (sock_put) で解放されます。これらはどちらも conns_lock の下で行われます。ハンドラが conns_lock を解放すると、並行する close() -> smc_release() -> smc_conn_free() -> smc_lgr_unregister_conn() がその参照を解放して smc_sock をフリーメモリに戻す可能性があるため、後続のハンドラの sock_hold() はフリーメモリ上で実行されます。

WARNING: lib/refcount.c:25 at refcount_warn_saturate Workqueue: rxe_wq do_work refcount_warn_saturate (lib/refcount.c:25) smc_cdc_msg_recv (net/smc/smc_cdc.c:430) smc_cdc_rx_handler (net/smc/smc_cdc.c:502) smc_wr_rx_tasklet_fn (net/smc/smc_wr.c:445) tasklet_action_common (kernel/softirq.c:938) handle_softirqs (kernel/softirq.c:622) Kernel panic - not syncing: panic_on_warn set

影響を受けるのは SMC-R のみです。SMC-D の受信タスクレットは、接続がアンレジスターされる前に smc_conn_free() 内の tasklet_kill(&conn->rx_tsklet) で停止されているため、フリー処理と並行して実行されることはありません。

conns_lock を保持したままソケット参照を取得し、登録時の参照が最後の参照にならないようにします。その後、ハンドラの処理完了後にその参照を解放します。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383602

EPSS

0.00176

アクティビティ

低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!