【活用ガイド】

JVNDB-2026-012742

LinuxのLinux Kernelにおける到達可能なアサーションに関する脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:drbdのdrbd_al_begin_io_nonblock()関数に存在した「LOGIC BUG」です。device-al_lockスピンロックを保持しながらlc_get_cumulative()が実行可能か確認していたにもかかわらず、他のコード経路が悪いタイミングでlc_try_lock()を実行すると失敗する可能性がありました。その場合、「LOGIC BUG for enr=...」というログが記録されましたが、エラーは返されませんでした。後続のコードは、このリクエストが関連するアクティビティログ範囲に対する参照を持っていると仮定していました。これにより、アクティブなリシンク中にリシンクとアプリケーションIOの相互排他性が保証されず、潜在的なクラッシュが発生した際にはこれらの範囲が進行中のIOの対象である可能性に気づかず、念のため再同期が必要になる恐れがありました。また、リクエスト完了後にアクティビティログの参照を持っていないにもかかわらず解放しようとしたため、lc_put()内でBUG_ON(refcnt == 0)が発生していました。修正内容としては、通常の動作中に無害な条件でカーネルがクラッシュしないように、非アクティブ範囲に対してal_complete_io()が呼び出された際の警告時に「e == NULL」だけでなく「e-refcnt == 0」も検知するよう改良しました。また、動作するかどうかを賢く「推測」して失敗に驚くのではなく、動作の可否を正しく扱うようにしました。動作しない場合は、(拡張境界を跨ぐリクエストにのみ可能な)「部分的にアクティビティログにある」状態を記憶し、drbd_al_begin_io_nonblock()からエラーコードを返します。同じリクエストの後続呼び出しは中断した箇所から再開されます。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 3.10.1 以上 5.10.253 未満
  • Linux Kernel 5.11 以上 5.15.203 未満
  • Linux Kernel 5.16 以上 6.1.167 未満
  • Linux Kernel 6.13 以上 6.18.17 未満
  • Linux Kernel 6.19 以上 6.19.7 未満
  • Linux Kernel 6.2 以上 6.6.130 未満
  • Linux Kernel 6.7 以上 6.12.77 未満
  • Linux Kernel 3.10
  • Linux Kernel 7.0

想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 到達可能なアサーション(CWE-617) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-23356
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-23356
  2. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f558e5404a72054b525dced1a0c66aa95a144153)
  3. 関連文書 : https://git.kernel.org/stable/c/933d161baa3794547adee621c0bf52cbf2c1b3cd
  4. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/d1ef3aed4df2ef1fe46befd8f2da9a6ec5445508)
  5. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ab140365fb62c0bdab22b2f516aff563b2559e3b)
  6. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cf01aa6288e1190f89865e765056e2a9d8190639)
  7. 関連文書 : https://git.kernel.org/stable/c/7752569fc78e89794ce28946529850282233f99d
  8. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e91d8d6565b7819d13dab21d4dbed5b45efba59b)
  9. 関連文書 : drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/eef1390125b660b8b61f9f227a03bb9c5e6d36a5)
更新履歴

  • [2026年04月27日]
      掲載