CVE-2026-64008 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
accel/rocket: create_boにおける無効化されたGEMハンドルによるUAFの修正
rocket_ioctl_create_bo()は、早期にdrm_gem_handle_create()を介してファイルのIDR内にGEMハンドルを挿入し、その後いくつかの失敗する可能性のある操作(sgt割り当て、drm_mm挿入、iommu_map)を実行します。これらの処理のうちいずれかが、ハンドルが有効化された後に失敗した場合、エラーパスでdrm_gem_shmem_object_free()が呼び出され、IDRからハンドルを削除せずにオブジェクトがkfreeされます。
これにより、解放済みスラブメモリを指す無効な(dangling)ハンドルが残ります。そのハンドルを使用する後続のioctl(PREP_BO, FINI_BO, SUBMIT)はdrm_gem_object_lookup()を呼び出し、解放されたメモリのデリファレンス(UAF: Use-After-Free)を引き起こします。
修正方法として、fallibleな処理がすべて成功した後にdrm_gem_handle_create()を実行するよう順序を変更し、panfrost、lima、etnavivで使用されているパターンに合わせます。
また、次の行でiommu_map_sgtable()によって戻り値が無音的に上書きされていたdrm_mm_insert_node_generic()も修正します。欠落していたエラーチェックを追加しました。
[tomeu: ハンドル作成を最終段階へ移動]
If you want to get best quality of vulnerability data, you may have to visit VulDB.