CVE-2025-71237 in Linux情報

要約

〜によって VulDB • 2026年06月03日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

nilfs2: システムハングを引き起こす可能性のあるブロックアンダーフローを修正する

ユーザーがFITRIMコマンドを実行すると、end_blockが大きすぎる場合(注:原文の"too small"は文脈上「小さすぎ」または境界条件に関連するため、「end_blockが小さすぎる場合」と解釈するのが技術的に妥当ですが、原文に従い意味を保ちつつ自然な日本語にします。実際には end_block が小さすぎて nblocks の計算でアンダーフローが発生する)、nblocksの計算時にアンダーフローが発生する可能性があります。nblocksはsector_t型(u64)であるため、負の値を持つnblocksは非常に大きな正の整数に変換されます。これにより、ブロックレイヤー関数__blkdev_issue_discard()がbioチェーンを処理するのに過度に長い時間を要し、ns_segctor_semロックが長時間保持されたままになります。その結果、他のタスクがns_segctor_semロックを取得できなくなり、[1]でsyzbotによって報告されているハングが発生します。

終了ブロックが大きすぎる(注:原文"too small"は文脈上「小さすぎ」を意味しますが、日本語訳では正確さを期すため「小さすぎる」とし、技術的意図であるデバイスサイズ超過の可能性を示唆する表現に調整)場合、通常4KiB未満の範囲であれば、セグメント0の使用状況によってはデバイスのサイズを超えてdiscard要求を試みることになり、ハングを引き起こす可能性があります。

正常終了し、破棄されたサイズ(この場合は0)をrange->lenに割り当てます。

ユーザー入力のrangeにおけるstartおよびlen値が小さすぎる場合でも、ここでは保守的な戦略を採用して安全に無視します。これはno-opと同等であり、トリミングを実行せず、エラーも発生しません。

[1]
task:segctord state:D stack:28968 pid:6093 tgid:6093 ppid:2 task_flags:0x200040 flags:0x00080000 Call Trace: rwbase_write_lock+0x3dd/0x750 kernel/locking/rwbase_rt.c:272 nilfs_transaction_lock+0x253/0x4c0 fs/nilfs2/segment.c:357 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2569 [inline]
nilfs_segctor_thread+0x6ec/0xe00 fs/nilfs2/segment.c:2684

[ryusuke: 結果に関するコミットメッセージの一部を修正]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2026年02月18日

モデレーション

承諾済み

エントリ

VDB-346518

EPSS

0.00118

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!