概要
Linux カーネルのカーネル内 SMB サーバー実装(ksmbd)の smb_inherit_dacl() 関数に ACE 検証の不備がある。親ディレクトリの DACL を処理する際、固定長の SID ヘッダーは検証されるが、sid.num_subauth で記述される可変長部分が ACE に完全に含まれているかの検証が欠如している。
細工された継承可能 ACE が実際より多くのサブオーソリティを持つと偽ることで、compare_sids() が ACE 外のメモリを読み取る可能性がある。また smb_set_ace() が検証前の SID カウントを使って継承 ACE サイズを計算するため、割り当てバッファを超えたポインタ演算が発生し得る。
CVSSベクトル
| 要素 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | Low |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
影響を受けるソフトウェア
| 製品 | ベンダー | バージョン |
|---|---|---|
| Linux kernel (ksmbd) | Linux | 複数安定版ブランチ(パッチ適用前) |
修正バージョンと回避策
- 修正: git.kernel.org の各安定版ブランチにパッチが公開済み
ksmbd を使用していない場合(CONFIG_SMB_SERVER が無効)は影響を受けない。ディストリビューションのセキュリティアップデートを適用すること。
関連リンク
データソース: NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
