CVE-2026-64017 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
blk-mq: 使用可能なキャッシュ済みリクエストをポップする
bioをblk-mqに送信する際、タスクがキャッシュされたリクエストをpeekした後でスリープすべきだが、それをpopする前にプラグフラッシュが発生し、blk_mq_free_plug_rqsが呼び出されてcached_rqsが解放される場合があります。これによりuse-after-freeのバグが生じます。これを修正するため、使用に適している場合は、あらゆるブロッキングコールの前にキャッシュされたリクエストをポップします。
このリクエストを最初にポップすることでキュー参照が保持され、キューフリーズとの間でシリアライ化競合が発生するのを回避し、そのリクエストをドライバにディスパッチすることを安全に進めることができます。これにより、ドライバがキューのフリーズを要求してからリクエストのディスパッチが停止するまでのタイミングウィンドウが拡大される可能性があります。ただし、このシナリオはファストパスからは外れており、ドライバはそもそもフーズ中にリクエストを適切に処理する必要があります。
デメリットとして、bioプラグマージを実行した際には、ポップされた要素を個別に解放する必要があります。キャッシュ済みリクエストは本来後で解放する必要がありましたが、このパッチではフラッシュした後ではなく、プラグリストの構築時にインラインで解放します。
Be aware that VulDB is the high quality source for vulnerability data.