LinuxのLinux Kernelにおける不特定の脆弱性
タイトル LinuxのLinux Kernelにおける不特定の脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が解決されました。drm/amdgpuのamdgpu_dma_buf_move_notifyにおける同期処理が修正されました。dmabufを無効化すると、共有BOの他のユーザーに影響を与えます。プロセスAがBOを移動する場合、プロセスBに移動を通知し、プロセスBはページテーブルを更新する必要があります。このコミットはチケットの使用に起因する同期バグを修正しました。具体的には、amdgpu_vm_handle_movedがページテーブルを即座に更新することが正しいかのように動作していましたが、実際にはそうではありません。例として、P2P PCIがサポートされていないシステムでGPUが2台あり、GPU0でglxgearsが動作し、GPU1でXorgが動作しているシナリオがあります。glxgearsがGPU0からリニアバッファをエクスポートし、GPU1でインポートします。フレームレンダリングはGPU0に送信されます。また、タイルからリニアへのブリット送信も行われます。Xorgではリニアバッファのコピーが実行されます。ジョブの実行順序は以下の通りです。drm_sched_job_runでGPU0のフレームレンダリングが開始され、drm_sched_job_queueでGPU0のブリットがキューに追加されます。その後、drm_sched_job_doneでGPU0のフレームレンダリングが完了し、再びdrm_sched_job_runでGPU0のブリットが実行されます。GPU1がアクセスするためにリニアバッファが移動され、amdgpu_dma_buf_move_notifyでページテーブルが更新されます。この時点でGPU0のブリットジョブはまだ実行中であり、おそらくページフォルトを引き起こします。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2026年5月8日0:00
登録日 2026年5月18日11:28
最終更新日 2026年5月18日11:28
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 5.7 以上 6.12.75 未満
Linux Kernel 6.13 以上 6.18.16 未満
Linux Kernel 6.19 以上 6.19.6 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月18日]
  掲載
2026年5月18日11:28

NVD脆弱性情報
CVE-2026-43318
概要

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu: fix sync handling in amdgpu_dma_buf_move_notify

Invalidating a dmabuf will impact other users of the shared BO.
In the scenario where process A moves the BO, it needs to inform
process B about the move and process B will need to update its
page table.

The commit fixes a synchronisation bug caused by the use of the
ticket: it made amdgpu_vm_handle_moved behave as if updating
the page table immediately was correct but in this case it's not.

An example is the following scenario, with 2 GPUs and glxgears
running on GPU0 and Xorg running on GPU1, on a system where P2P
PCI isn't supported:

glxgears:
export linear buffer from GPU0 and import using GPU1
submit frame rendering to GPU0
submit tiled->linear blit
Xorg:
copy of linear buffer

The sequence of jobs would be:
drm_sched_job_run # GPU0, frame rendering
drm_sched_job_queue # GPU0, blit
drm_sched_job_done # GPU0, frame rendering
drm_sched_job_run # GPU0, blit
move linear buffer for GPU1 access #
amdgpu_dma_buf_move_notify -> update pt # GPU0

It this point the blit job on GPU0 is still running and would
likely produce a page fault.

公表日 2026年5月8日23:16
登録日 2026年5月9日4:13
最終更新日 2026年5月12日23:10
関連情報、対策とツール
共通脆弱性一覧