概要
Linux kernelのksmbd(カーネル内SMBサーバー)モジュールにおいて、use-after-free(解放済みメモリの使用)の脆弱性が発見されました。
ksmbdは oplock_info 構造体を kfree() で即座に解放していますが、この構造体はRCU(Read-Copy-Update)による保護付き読み取りで他のスレッドから参照されている可能性があります。このため、あるスレッドがメモリを解放した後に別のスレッドが同じメモリ領域にアクセスし、use-after-freeが発生します。
この脆弱性はネットワーク経由で認証なしに悪用される可能性があり、CVSSスコア 9.8(Critical)と評価されています。ksmbdを有効にしている環境では速やかにカーネルアップデートを実施してください。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8(Critical) |
| CWE | CWE-416(Use-After-Free) |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 不要 |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Linux kernel(ksmbdモジュール) | Linux | 複数のstableブランチ |
- ksmbdモジュールを使用していない環境(Sambaユーザースペース実装を使用している場合等)は影響を受けません
修正バージョンと回避策
- 各stableブランチで提供されているカーネルアップデートを適用してください
- 修正では
kfree()の代わりにcall_rcu()を使用してoplock_infoの解放を遅延させ、RCU保護期間中のアクセスを安全にしています - アップデートが困難な場合は、ksmbdモジュールのアンロード(
modprobe -r ksmbd)またはSMBサービスの停止を検討してください - 代替としてSambaのユーザースペース実装への移行も選択肢です
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
