30秒で判断
対応すべき人
- InfiniBand / RoCEファブリック上でLinux isertドライバを使用してiSCSIターゲットを提供している環境
対応不要な人
- iSCSI over InfiniBand(iSER)を使用していない
- isertカーネルモジュールをロードしていない(
lsmod | grep isertで確認) - すでに修正済みの安定版カーネルを使用している
確認コマンド
lsmod | grep isert
uname -r
概要
Linux kernelのInfiniBand iSCSI拡張(IB/isert)ドライバに整数アンダーフローの脆弱性があります。
isert_login_recv_done()関数において、受信したログインPDUのサイズからISER_HEADERS_LEN(76バイト)を減算してlogin_req_lenを計算しますが、受信データが76バイト未満の場合に下限チェックがなく、符号付き整数のアンダーフローが発生します。
その後isert_rx_login_req()がこの負の値を使用してmemcpyのサイズを計算するため、8192バイトのlogin->req_bufをはるかに超える範囲へのメモリアクセスが発生し、ターゲットノードがクラッシュします。
iSCSI認証フェーズより前(ログインフェーズ)に到達可能なコードパスであるため、攻撃に認証情報は不要です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
| CVSSスコア | 9.8 (Critical) |
影響を受けるソフトウェア
| 製品 | バージョン |
|---|---|
| Linux kernel | isertドライバを含む全バージョン(パッチ適用前) |
drivers/infiniband/ulp/isert/ib_isert.cに存在するバグです。
修正バージョンと回避策
修正: カーネル安定版ブランチへの修正コミットが利用可能です。
# ディストリビューションのカーネルアップデートを確認
# RHEL/CentOS
dnf check-update kernel
# Ubuntu/Debian
apt-get update && apt-cache show linux-image-$(uname -r)
# パッチ適用後、カーネルを再起動
緊急の回避策 (パッチ適用が困難な場合):
# isertモジュールをアンロード(iSER機能が不要な場合)
modprobe -r isert
# ただしiSER機能を使用している場合は影響がある
関連リンク
データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
