CVE-2026-64099 in Linux情報

要約

〜によって VulDB • 2026年07月19日

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

drm/v3d: エラー処理パスにおけるCPUジョブクエリ配列のuse-after-freeを修正する

CPUジョブioctlのエラーラベルは、v3d_job_cleanup()呼び出し後にcpu_jobの時計データおよびパフォーマンスクエリ配列に対してkvfree()を実行します。このv3d_job_cleanup()はジョブの最後の参照カウントを解放し、cpu_job自体を解放するため、その時点でcpu_jobにアクセスするとuse-after-freeとなります。また、初期化処理であるv3d_job_init()が早期に失敗した場合、ローカルポインタをゼロクリアするv3d_job_deallocate()によりNULL dereferenceが発生します。

正常終了パスでは、配列はスケジューラの.free_jobコールバックから解放されますが、エラー処理パスではジョブがスケジュールに登録されなかったため手動で解放されています。正常終了パスはこの問題を適切に扱っていますが、エラー処理パスには問題があります。

さらに、手動で行われるkvfree()呼び出しは配列のストレージのみを解放しており、成功時にv3d_timestamp_query_info_free()およびv3d_performance_query_info_free()が実行するper-query syncobjに対するdrm_syncobj_put()を実行していません。そのため、use-after-freeを引き起こす同じエラー処理パスにおいて、クエリごとに1つのsyncobj参照リークが発生しています。

CPUジョブの破棄処理を、v3d_render_job_free()と同様にCPUジョブのkrefデストラクタに統一しました。スケジューラの.free_jobスロットは汎用のv3d_sched_job_free()に戻り、エラーラベルからは手動のkvfree()呼び出しが削除され、スケジュールおよびioctlのエラー処理パスの両方から到達する単一の破棄パスのみが残ります。これにより、use-after-free、NULL dereference、syncobjリークを構造的に解消しています。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-380292

EPSS

0.00000

アクティビティ

低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!