概要
Linux カーネルの IPv6 In-situ Operations, Administration, and Maintenance(IOAM6)モジュールに整数オーバーフローの脆弱性が存在します。ioam6_fill_trace_data() 関数内でスキーマの長さへの貢献量を u8 型変数に格納する際にオーバーフローが発生し、残余スペースのチェックをバイパスしてトレースバッファ境界を超えた書き込みが生じます。
具体的には、ビット22が有効で最大サイズのスキーマペイロードが存在する場合、sclen が 256 から 0 へラップアラウンドし、残余スペースチェックをバイパスします。その後、__ioam6_fill_trace_data() がスキーマ領域を確保せずにライトカーソルを設定しながら、4バイトのスキーマヘッダーとフルスキーマペイロードをコピーするため、バッファオーバーランが発生します。
修正では sclen の型を unsigned int に変更し、残余スペースチェックとライトカーソル計算の両方でフルスキーマ長が正しく評価されるようになっています。
CVSS ベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響を受けるバージョン |
|---|---|---|
| Linux kernel | Linux kernel project | IPv6 IOAM6 機能を有効化しているカーネル(パッチ未適用) |
IPv6 IOAM6 機能を有効化していない環境(デフォルト設定の多くのディストリビューション)への影響は限定的です。
修正バージョンと回避策
修正コミット(Linux kernel stable ブランチ):
184d2e9db27c0f76226b5cad16fe29510a5d22805e67ba9bb531e1ec6599a82a065dea9040b9ce5077695a69baca9b99d95fad09fc78c2318736604fd1b041080086e91d3733a5438a8c51ad5d3d8e09d6e1c9b02d85a4f1f4ba6d68e916d9b610a3ed7d
推奨対応:
- 使用しているディストリビューションのカーネルセキュリティアップデートを適用する
- IPv6 IOAM6 機能が不要な場合は、カーネルモジュールの無効化を検討する
関連リンク
データソース: NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
