JVNDB-2026-022347 | |
LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。firmware: stratix10-rsu において、プローブ中の rsu_send_msg() のタイムアウト時に発生する NULL ポインタ参照を修正しました。rsu_send_msg() は、SMC 呼び出しが保留中のまま wait_for_completion_interruptible_timeout() がタイムアウトした場合に -ETIMEDOUT を返すことがあります。stratix10_rsu_probe() では、COMMAND_RSU_DCMF_VERSION、COMMAND_RSU_DCMF_STATUS、COMMAND_RSU_MAX_RETRY、COMMAND_RSU_GET_SPT_TABLE の各エラーパスで stratix10_svc_free_channel() を呼び出します(これは chan->scl を NULL に設定します)が、その後フォールスルーして同じチャネルに対して次の要求をキューしてしまいます。次に実行される svc kthread は受信コールバック経路で pdata->chan->scl を参照解除し、コミット c45f7263100c(「firmware: stratix10-rsu: Fix NULL pointer dereference when RSU is disabled」)で COMMAND_RSU_STATUS の経路向けに修正されたものと同一の NULL ポインタ参照を誘発してしまいます。残る失敗パスにも同様のクリーンアップ手順を適用しました。すなわち、非同期クライアントを削除し、チャネルを解放し、scl がクリアされたチャネルにこれ以上メッセージがキューされないよう早期に処理を終了するようにしました。併せて、動作を変更することなく、次の二点で stratix10_rsu_probe() の整理を行いました。・devm_kzalloc() によって既に 0 クリアされているフィールド(client.receive_cb、status.*、および spt0/1_address。INVALID_SPT_ADDRESS は 0x0)への冗長なゼロ初期化を削除しました。・五箇所に重複していた同一の三行からなるエラー後処理ブロック(stratix10_svc_remove_async_client()、stratix10_svc_free_channel()、return ret)を goto ラベル(remove_async_client、free_channel)に置き換え、標準的なカーネルのリソース解放パターンに合わせることで、対応するクリーンアップを失念することなくプローブ手順を拡張しやすくしました。また、コールバックを引き起こす可能性のある処理の前に同期プリミティブの初期化がまとめられるよう、init_completion() を mutex_init() の直後に移動しました。--- v2: 関数 stratix10_rsu_probe() の軽微なクリーンアップを追加し、rsu_send_async_msg() および rsu_send_msg() の全経路が共通の終了経路に集約されるようにしました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/25 |
| 登録日 | 2026/07/06 |
| 最終更新日 | 2026/07/06 |



