JVNDB-2026-028077 | |
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。scsi: isci: デバイス削除パスのuse-after-freeの修正です。ISCIの完了タスクレットはisci_host_alloc()(drivers/scsi/isci/init.c:496)で初期化され、MSI-Xおよびレガシー割り込みハンドラ(drivers/scsi/isci/host.c:223, 613)の両方からスケジュールされます。isci_host_deinit()はコントローラを停止して停止完了を待機しますが、デバイスの解体が続く前にcompletion_taskletを停止しません。関数冒頭でのtasklet_kill()は不十分です。なぜなら、割り込みはisci_host_stop_complete()が実行されるまで無効化されず、その間wait_for_stop()が戻るまでIRQハンドラはタスクレットを再度キューに入れることが可能だからです。タスクレットのコールバックは完了を消化した後に再度割り込みを有効にするため、ソースが静止する前にタスクレットをkillすると同じ競合状態が残ってしまいます。wait_for_stop()が戻った後は、IRQ駆動のスケジューリングは発生しません。そこでcompletion_taskletはこの時点でkillし、解体が終了したihost上でキューに入ったタスクレットと競合しないようにします。removeやunload時に未処理のコールバックは、ホストの寿命終了後にihostやihost->smu_registersを参照してしまう可能性があります。UMLとKASANを用いた類似環境では、tasklet_kill()なしやソースの静止前にtasklet_kill()を配置した場合に失敗種別が再現され、スケジューリング元停止後にkillした場合のみ問題が解消されました。これはコミットf6ab594672d4("scsi: aic94xx: デバイス削除パスのuse-after-free修正")を踏襲していますが、ISCIではtasklet_kill()をwait_for_stop()の後に実施する必要があります。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/19 |
| 登録日 | 2026/08/13 |
| 最終更新日 | 2026/08/13 |



