【活用ガイド】

JVNDB-2026-023085

LinuxのLinux Kernelにおける複数の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。checkpoint/restoreのsysctlパスは、ids->next_idを介して次のSysV IPC IDを要求できますが、ipc: next_idの割り当てを有効なID範囲内に制限する必要があります。ipc_idr_alloc()は現在、その要求をidr_alloc()に対し上限を設けずに転送しています。SysV IPC ID空間の有効な末尾が満杯の場合、割り当てがipc_mniを超えてしまうことがあります。返されるSysV IPC IDは通常のインデックスエンコーディングを使用しているため、後の検索や削除が誤ったスロットを対象にしてしまいます。これにより実際のIDRエントリが残り、オブジェクトのIDR状態が破損します。バグはcheckpoint/restoreパスのipc_idr_alloc()に存在します。具体的には以下の問題があります。1. ids->next_idは以下に渡されます:idr_alloc(&ids->ipcs_idr, new, ipcid_to_idx(next_id), 0, ...)2. 上限が0であるため、割り当ては事実上無制限になります。有効なSysV IPCの末尾が既に使用されている場合、idr_alloc()はipc_mniを超えてエントリを割り当ててしまうことがあります。3. 新しいオブジェクトIDは狭いSysV IPCインデックス幅でエンコードされたままです:new->id = (new->seq << ipcmni_seq_shift()) + idx4. その後の削除はipc_rmid()を通じて行われ、そこでipcid_to_idx(ipcp->id)が使われます。これは実際のIDRインデックスを切り捨てるため、高いインデックスに格納されたオブジェクトが低い有効範囲内のインデックスとして削除されてしまいます。5. 共有メモリではshm_destroy()が現在のオブジェクトを解放しますが、実際の高いIDRスロットはダングリングポインタとして残ります。6. その後、/proc/sysvipc/shmを巡回すると古いIDRエントリに到達し、解放済みメモリの参照が発生します。この問題は、要求された割り当てをipc_mniで制限し、有効範囲が尽きた場合にcheckpoint/restoreパスの処理を失敗させることで防止できます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.0 (重要) [その他]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 3.8.1 以上 5.10.259 未満
  • Linux Kernel 5.11 以上 5.15.210 未満
  • Linux Kernel 5.16 以上 6.1.176 未満
  • Linux Kernel 6.13 以上 6.18.35 未満
  • Linux Kernel 6.19 以上 7.0.12 未満
  • Linux Kernel 6.2 以上 6.6.143 未満
  • Linux Kernel 6.7 以上 6.12.93 未満
  • Linux Kernel 3.8
  • Linux Kernel 7.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

レッドハット
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 有効期限後のメモリの解放の欠如(CWE-401) [NVD評価]
  2. 期限切れのポインタデリファレンス(CWE-825) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-52923
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-52923
  2. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/fa0b9b2b7ae3539908d69c2b9ac0d144d9bc5139)
  3. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3bbe2bb9111ce6967a951bfac79af142d816fae5)
  4. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a3cc795129e5ec0f8948653a3bf471e7d8852f5e)
  5. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/41058d4c3f63ab64901560a704882e0565f4e456)
  6. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8c58a92849175f5e2ab7bc2734b3b89afe79f6ef)
  7. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/157ce2c6836ce0ff19108a819f38df061345425f)
  8. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/af24e202b543ded8a34f1d5d3db54eb916173f04)
  9. 関連文書 : ipc: limit next_id allocation to the valid ID range - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bd4be70669af55b974860d13680348cfdf50bbed)
更新履歴

  • [2026年07月10日]
      掲載