CVE-2026-68266 in Linux情報

要約

〜によって VulDB • 2026年08月10日

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

drm/xe: インポートされたBOに対してdma-buf参照を保持する

インポートされたdma-buf BOは、予約オブジェクトがエクスプーターの dma_buf->resv である ttm_bo_type_sg BOとして作成されます。しかしながら、インポーターは成功した dma_buf_dynamic_attach() の後にのみdma-buf参照を取得します。それまでの間、エクスプーターを生存状態に保つものは何もないため、BOがまだその resv を参照している間にエクスプーターが解放されると、後の resv へのアクセスは Use-After-Free (UAF) となります:

``` Oops: general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6b9c Workqueue: ttm ttm_bo_delayed_delete [ttm]
RIP: 0010:mutex_can_spin_on_owner+0x3f/0xc0 ```

これは2つのパスで到達可能です:

- dma_buf_dynamic_attach() が失敗する場合、または - BO作成中に ttm_bo_init_reserved() が失敗する場合。

どちらの場合も、BOはすでに bo->base.resv をエクスプーターの resv に向けており、sg BO は常に ttm_bo_delayed_delete() を介して破棄されますが、これは bo->base.resv に非同期にロックを取得します - これは潜在的にはエクスプーターが解放された後です。

xe_bo_init_locked() で dma-buf参照を取得し、その後に ttm_bo_init_reserved() を呼び出すように変更しました。これにより、そこでの作成失敗もカバーされます。また、xe_ttm_bo_destroy() で参照を解放します。この参照はBOの全生存期間保持され、すべてのパスで共有 resv が生存状態に保たれます。

v2: - dma_buf_dynamic_attach() の成功前にインポートされたsg BOを作成しないよう修正を再構成しました。 - importer_priv == NULL でアタッチし、incomplete imports を無視するように invalidate_mappings を変更しました。

v3: - エクスプーター側での順序入れ替えアプローチを削除しました。dma_buf_dynamic_attach() がアタッチメントを公開する際には importer_priv が有効である必要があるためです。 - v1スレッドにおけるChristianの提案に基づき、sgガードを完全に除去するのではなく、import_attach をキーとしたチェックを行いました。 - 単一のTTMパッチで xe と amdgpu の両方を修正しました。

v4: - import_attach チェックを dma_resv_copy_fences() の後に移動し、成功したインポートの場合にフェンスがコピーされた後に戻るようにしました (Thomas)。 - コミットメッセージから exporter-alive という主張を削除しました (Thomas)。

v5: - アタッチメントの成功前にインポートされたsg BOをLRUから外しておくためのdrm/xeパッチを追加しました。BOがすでにLRUで可視である場合、TTM修正だけでは xe では不十分です。(Thomas) v4 パッチ: https://patchwork.freedesktop.org/patch/736663/?series=169129&rev=2 - Patch 1 (drm/ttm) は Christian's Reviewed-by をv4から引き継いでいます。

v6: - Thomasの提案に基づき修正を再構成しました。TTM resv の個別化(v1-v5)および xe の off-LRU/placement ハンドリング(v5)ではなく、インポートされたBOの生存期間中ずっとdma-buf参照を保持し

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年07月30日

モデレーション

承諾済み

エントリ

VDB-387641

EPSS

0.00175

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!