| タイトル | LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| 概要 | Linuxカーネルにおいて、以下の脆弱性が修正されました。drmのchange_handle内で、prime交換前に古いハンドルをNULLに設定します。change_handleには潜在的な競合状態が存在しました。ioctlは一時的に2つのidrエントリを持つ単一のオブジェクトを扱い、その間に並行して実行されるgem_closeがオブジェクトを削除し、ひとつのハンドルを除去しつつもう一方を残してしまいます。その結果、使用後解放(use-after-free)の問題が発生する可能性がありました。この問題を修正するために、gem_close自身が行う処理と同様の手順を実施します(f6cd7daecff5 drm: ドライバーの参照を解放して再利用可能にする前の処理)。まずidr_replaceで古いハンドルをNULLに置き換えます。prime操作が成功した場合にのみ、実際にそれをクローズします。create_tailにも同様の問題を避けるために同様の処理を行う必要がありました(bd46cece51a3 drm/gem: drm_gem_handle_create_tail()の競合状態を修正)。この関数はidr_allocで新しいハンドルをNULLに設定し、その後に正しいオブジェクトを差し替えることで競合を避けています。ここではdrm_primeが唯一の競合する操作ですが、change_handleは処理全体を通じてprimeロックを保持しているため、この方法は必要ありません。v2ではエラー経路のクリーンアップが行われました。 |
| 想定される影響 | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| 対策 | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月28日0:00 |
| 登録日 | 2026年6月11日16:21 |
| 最終更新日 | 2026年6月11日16:21 |
| CVSS3.0 : 重要 | |
| スコア | 7.8 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 6.18 以上 6.18.32 未満 |
| Linux Kernel 6.19 以上 7.0.9 未満 |
| Linux Kernel 7.1 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月11日] 掲載 |
2026年6月11日16:21 |
| 概要 | In the Linux kernel, the following vulnerability has been resolved: drm: Set old handle to NULL before prime swap in change_handle There was a potential race condition in change_handle. The ioctl To fix this, do the same dance that gem_close itself does. create_tail required a similar dance to avoid a similar problem. v2: cleanups of error paths |
|---|---|
| 公表日 | 2026年5月28日19:16 |
| 登録日 | 2026年5月29日4:14 |
| 最終更新日 | 2026年5月30日20:17 |