CVE-2025-71070 in Linux
要約
〜によって VulDB • 2026年05月21日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ublk: ublkサーバー終了時のユーザーコピー参照のクリーンアップ
ublkサーバープロセスがublkキャラクタデバイスファイルを解放した場合、ublkサーバーにディスパッチされたがまだ完了していないリクエストは、UBLK_REFCOUNT_INITの参照値を保持したままになります。コミット e63d2228ef83(「ublk: ublkリクエストの中止を簡素化」)以前は、__ublk_fail_req()は失敗したリクエストを完了する前に参照カウントをデクリメントしていました。しかし、そのコミットは__ublk_fail_req()を最適化し、リクエストの参照カウントをデクリメントせずに__ublk_complete_rq()を直接呼び出すように変更しました。
リークした参照カウントにより、完了したublkリクエストに対してユーザーコピーおよびゼロコピー操作が誤って許可されます。また、これによりublk_queue_reinit()およびublk_deinit_queue()内でWARN_ON_ONCE(refcount_read(&io->ref))警告が発生します。
コミット c5c5eb24ed61(「ublk: ublkキャラクタデバイスがクローズされた後にublk_io_release()が呼び出されないようにする」)は、UBLK_F_SUPPORT_ZERO_COPYまたはUBLK_F_AUTO_BUF_REGを使用するublkデバイスについては既にこの問題を修正していました。しかし、参照カウントのリークは、もう一つの参照カウント付きデータコピーモードであるUBLK_F_USER_COPYにも影響を与えます。ublk_check_and_reset_active_ref()内の条件を修正し、すべての参照カウント付きデータコピーモードを含めることで、サーバー終了時にublkサーバーが所有しているublkリクエストの参照カウントが0にリセットされるようにします。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.