| タイトル | LinuxのLinux Kernelにおける不特定の脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました。btrfs: btrfs_repair_io_failure()内で、ファイルシステムが読み取り専用(RO)に切り替わったときにASSERT()を行わないようにしました。[バグ] btrfsが重要な処理経路でENOSPCエラーに遭遇した場合、btrfsは読み取り専用に切り替わります(この動作は想定内ですが、ENOSPCのバグは依然として対応が必要です)。問題はROに切り替わった後、読み取り修復が保留中の場合に、btrfs_repair_io_failure()内のASSERT()が以下のように発生することです。BTRFS情報(デバイスvdc):ブロックグループ30408704をメタデータ|raid1フラグで再配置しました。------------[ ここで切断 ]------------BTRFS: トランザクションが中止されました(エラー -28) WARNING: fs/btrfs/extent-tree.c:3235の__btrfs_free_extent.isra.0+0x453/0xfd0, CPU#1: btrfs/383844 モジュール:kvm_intel kvm irqbypass [...] ---[ トレース終了 0000000000000000 ]--- BTRFS情報(デバイスvdc状態EA):バランス中に2回のENOSPCエラーが発生しました。BTRFS情報(デバイスvdc状態EA):バランスは状態:-30で終了しました。BTRFSエラー(デバイスvdc状態EA):親トランザクションID検証に失敗しました。論理30556160 ミラー2 期待値8 実際6です。BTRFSエラー(デバイスvdc状態EA):bdev /dev/nvme0n1にエラーが発生しました:書き込み0、読み込み0、フラッシュ0、破損10、世代0です。[...] fs/btrfs/bio.c:938でassertion failed: !(fs_info-sb-s_flags & SB_RDONLY) :: 0 ------------[ ここで切断 ]------------assertion failed: !(fs_info-sb-s_flags & SB_RDONLY) :: 0, fs/btrfs/bio.c:938 カーネルBUGがfs/btrfs/bio.c:938で発生しました。Oops: 無効な命令コード: 0000 [#1] SMP NOPTI CPU: 0 UID: 0 PID: 868 コミュニティ: kworker/u8:13 Tainted: G W N 6.19.0-rc6+ #4788 PREEMPT(full) Tainted: [W]=WARN, [N]=TEST ハードウェア名: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 2014/04/01 ワークキュー: btrfs-endio simple_end_io_work RIP: 0010:btrfs_repair_io_failure.cold+0xb2/0x120 ・・・[省略]------------[ ここで切断 ]------------[原因] テストケースbtrfs/124で発生する-ENOSPCエラーの原因は不明ですが、メタデータのオーバーコミットが発生し、正しく処理できない場合があることが判明しました。したがって、重要な処理経路でこのようなENOSPCエラーに遭遇した場合、現在のトランザクションを中止せざるを得ません。このため、ファイルシステムは読み取り専用になります。問題はbtrfs_repair_io_failure()のパス内で、ファイルシステムが読み取り専用にマウントされていないことを前提としていることです。通常、この点は問題ありませんが、読み取り修復中にファイルシステムがクリティカルエラーでROに切り替わると、スーパーブロックが読み取り専用にセットされた状態でbtrfs_repair_io_failure()に入ることがあり、この場合、上記のクラッシュが発生します。[修正] ファイルシステムが既に読み取り専用の場合はASSERT()を適切なreturn文に置き換えました。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月8日0:00 |
| 登録日 | 2026年5月18日11:29 |
| 最終更新日 | 2026年5月18日11:29 |
| CVSS3.0 : 警告 | |
| スコア | 5.5 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Linux |
| Linux Kernel 3.13 以上 6.19.6 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月18日] 掲載 |
2026年5月18日11:29 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: btrfs: do not ASSERT() when the fs flips RO inside btrfs_repair_io_failure() [BUG] The problem is after the RO flip, if there is a read repair pending, we BTRFS info (device vdc): relocating block group 30408704 flags metadata|raid1 [CAUSE] This will mark the fs read-only. The problem is inside the btrfs_repair_io_failure() path that we require [FIX] |
|---|---|
| 公表日 | 2026年5月8日23:16 |
| 登録日 | 2026年5月9日4:12 |
| 最終更新日 | 2026年5月12日23:10 |