CVE-2026-46050 in Linux情報

要約

〜によって VulDB • 2026年05月27日

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

md/raid10: チェック操作とNOWAITリクエストによるデッドロックを修正

配列チェックが実行されている間、バリアが設定され、その時点で通常のリクエストはブロックされ、wait_barrier()内で保留中の作業があることを示すためにnr_pending値が増加します。NOWAITリクエストはブロックしないため、直ちにエラーを返して返却され、さらにwait_barrier()内でnr_pendingを増加させません。アップストリームのコミット43806c3d5b9b(「raid10: cleanup memleak at raid10_make_request」)は、NOWAITリクエストがこの条件に遭遇した際にメモリリークを修正するためにraid_end_bio_io()への呼び出しを追加しました。raid_end_bio_io()は最終的にallow_barrier()を呼び出し、NOWAITの場合に対応するnr_pendingの増加が発生していないにもかかわらず、無条件でatomic_dec_and_test(&conf->nr_pending)を実行します。

これは、同じ配列上でアプリケーションがNOWAIT IOを実行している間にチェック操作を開始することで簡単に確認できます。これにより、nr_pending値のアンダーフローによりデッドロック状態となり、md resyncスレッドがnr_pendingが0になるのを待って停止します。

この条件に達した際の配列のr10conf状態の出力:

crash> struct r10conf barrier = 1, nr_pending = {
counter = -41 }, nr_waiting = 15, nr_queued = 0,

raise_barrier()で待機しているmd_syncスレッドおよびwait_barrier()で停止している他のリクエストの例:

md1_resync [] raise_barrier+0xce/0x1c0
[] raid10_sync_request+0x1ca/0x1ed0
[] md_do_sync+0x779/0x1110
[] md_thread+0x90/0x160
[] kthread+0xbe/0xf0
[] ret_from_fork+0x34/0x50
[] ret_from_fork_asm+0x1a/0x30

kworker/u1040:2+flush-253:4 [] wait_barrier+0x1de/0x220
[] regular_request_wait+0x30/0x180
[] raid10_make_request+0x261/0x1000
[] md_handle_request+0x13b/0x230
[] __submit_bio+0x107/0x1f0
[] submit_bio_noacct_nocheck+0x16f/0x390
[] ext4_io_submit+0x24/0x40
[] ext4_do_writepages+0x254/0xc80
[] ext4_writepages+0x84/0x120
[] do_writepages+0x7a/0x260
[] __writeback_single_inode+0x3d/0x300
[] writeback_sb_inodes+0x1dd/0x470
[] __writeback_inodes_wb+0x4c/0xe0
[] wb_writeback+0x18b/0x2d0
[] wb_workfn+0x2a1/0x400
[] process_one_work+0x149/0x330
[] worker_thread+0x2d2/0x410
[] kthread+0xbe/0xf0
[] ret_from_fork+0x34/0x50
[] ret_from_fork_asm+0x1a/0x30

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

責任者

Linux

予約する

2026年05月13日

モデレーション

承諾済み

エントリ

VDB-366282

EPSS

0.00032

アクティビティ

非常低い

ソース

Want to know what is going to be exploited?

We predict KEV entries!