【活用ガイド】

JVNDB-2026-007839

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

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。romfsのsb_set_blocksize()の戻り値のチェックに不備がありました。romfs_fill_super()はsb_set_blocksize()の戻り値を無視しており、要求されたブロックサイズがブロックデバイスの設定と互換性がない場合にマウント処理が失敗する可能性がありました。この問題は、ioctl(LOOP_SET_BLOCK_SIZE, 32768)を使ってループデバイスのブロックサイズをPAGE_SIZEより大きく設定し、そのデバイスにromfsファイルシステムをマウントすることで引き起こされます。ROMBSIZE=4096でsb_set_blocksize(sb, ROMBSIZE)が呼ばれた場合、デバイスのlogical_block_sizeが32768であるためbdev_validate_blocksize()は要求サイズが論理ブロックサイズより小さいため失敗します。sb_set_blocksize()は0(失敗)を返しますが、romfsはこれを無視してマウントを続行していました。その結果、スーパーブロックのブロックサイズはデバイスの論理ブロックサイズ(32768)のままとなり、後にsb_bread()がこの過大なブロックサイズでI/Oを試みる際にfolio_set_bh()のカーネルBUGを引き起こします。具体的には、「kernel BUG at fs/buffer.c:1582! BUG_ON(size PAGE_SIZE);」というエラーが発生します。修正はsb_set_blocksize()の戻り値をチェックし、0を返した場合はマウント処理を-EINVALで失敗させるようにしたものです。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 2.6.12.1 以上 5.10.251 未満
  • Linux Kernel 5.11 以上 5.15.201 未満
  • Linux Kernel 5.16 以上 6.1.164 未満
  • Linux Kernel 6.13 以上 6.18.13 未満
  • Linux Kernel 6.2 以上 6.6.127 未満
  • Linux Kernel 6.7 以上 6.12.74 未満
  • Linux Kernel 2.6.12
  • Linux Kernel 6.19

想定される影響

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

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

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

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

  1. CVE-2026-23238
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-23238
  2. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4b71ad7676564a94ec5f7d18298f51e8ae53db73)
  3. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ab7ad7abb3660c58ffffdf07ff3bb976e7e0afa0)
  4. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9b203b8ddd7359270e8a694d0584743555128e2c)
  5. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a381f0f61b35c8894b0bd0d6acef2d8f9b08b244)
  6. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2c5829cd8fbbc91568c520b666898f57cdcb8cf6)
  7. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cbd9931e6456822067725354d83446c5bb813030)
  8. 関連文書 : romfs: check sb_set_blocksize() return value - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f2521ab1f63a8c244f06a080319e5ff9a2e1bd95)
更新履歴

  • [2026年03月19日]
      掲載