LinuxのLinux Kernelにおける不特定の脆弱性
タイトル LinuxのLinux Kernelにおける不特定の脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が解決されました。ext4では、間接ブロックマッピングされたブロックを検索する際のラップアラウンド処理に問題がありました。コミット4865c768b563("ext4: always allocate blocks only from groups inode can use")は、間接ブロックベースのファイルに割り当てられるブロックを32ビットのブロック番号の範囲に制限しています。しかし、最新のGemini LLMを使用したレビュー・ボットがこのコミットをLTSベースのカーネルにバックポートする際にチェックしたところ、以下の懸念が挙げられました。ac-ac_g_ex.fe_groupがngroups以上(例えば、s_mb_last_groupsからのストリーム割り当てにより目標グループが設定された場合)であれば、startもngroups以上になります。これは間接ブロックマッピングされたファイルで32ビット制限を超えるブロック割り当てを許してしまう可能性があります。コミットメッセージではext4_mb_scan_groups_linear()がサポートされていないグループを選択しないよう注意していると述べられています。しかし、このループはgroup = *startを使っており、最初のイテレーションでext4_mb_scan_group()がサポートされていないグループで呼び出される可能性があります。なぜならnext_linear_group()はイテレーションの最後にしか呼ばれないためです。コードパスとLLMレビューを検討した結果、この問題は一部のファイルやディレクトリがエクステントマッピングされ、他が間接ブロックマッピングされているファイルシステムで発生する可能性があると判断しました。これに対処するため、ext4_mb_scan_groups()に安全なクランプを追加しました。

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

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

公表日 2026年5月5日0:00
登録日 2026年5月22日10:54
最終更新日 2026年5月22日10:54
CVSS3.0 : 緊急
スコア 9.8
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 5.15.203 以上 5.16 未満
Linux Kernel 6.1.167
Linux Kernel 6.12.77 以上 6.12.80 未満
Linux Kernel 6.18.14 以上 6.18.21 未満
Linux Kernel 6.19.4 以上 6.19.11 未満
Linux Kernel 6.6.130 以上 6.6.134 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月22日]
  掲載
2026年5月22日10:54

NVD脆弱性情報
CVE-2026-43067
概要

In the Linux kernel, the following vulnerability has been resolved:

ext4: handle wraparound when searching for blocks for indirect mapped blocks

Commit 4865c768b563 ("ext4: always allocate blocks only from groups
inode can use") restricts what blocks will be allocated for indirect
block based files to block numbers that fit within 32-bit block
numbers.

However, when using a review bot running on the latest Gemini LLM to
check this commit when backporting into an LTS based kernel, it raised
this concern:

If ac->ac_g_ex.fe_group is >= ngroups (for instance, if the goal
group was populated via stream allocation from s_mb_last_groups),
then start will be >= ngroups.

Does this allow allocating blocks beyond the 32-bit limit for
indirect block mapped files? The commit message mentions that
ext4_mb_scan_groups_linear() takes care to not select unsupported
groups. However, its loop uses group = *start, and the very first
iteration will call ext4_mb_scan_group() with this unsupported
group because next_linear_group() is only called at the end of the
iteration.

After reviewing the code paths involved and considering the LLM
review, I determined that this can happen when there is a file system
where some files/directories are extent-mapped and others are
indirect-block mapped. To address this, add a safety clamp in
ext4_mb_scan_groups().

公表日 2026年5月6日1:16
登録日 2026年5月6日4:07
最終更新日 2026年5月8日22:16
関連情報、対策とツール
共通脆弱性一覧