Linuxカーネルにおいて、media: mediatek: vcodec コンポーネントのエンコーダの解放パスに存在する use-after-free 脆弱性が修正されました。fops_vcodec_release() 関数は、ctx-encode_work 内の保留中または実行中の作業をキャンセルする前にコンテキスト構造体(ctx)を解放しており、これにより作業キューのハンドラ(mtk_venc_worker)が解放済みのコンテキストメモリにアクセスするレースコンディションが発生していました。本脆弱性は、v4l2_m2m_ctx_release() が m2m ジョブのライフサイクルのみを待機し、作業キューのライフサイクルを考慮していなかったことに起因します。その結果、ジョブ完了後もワーカー関数が解放済みの ctx にアクセスする可能性がありました。修正として、kfree(ctx) の前に cancel_work_sync(&ctx-encode_work) を呼び出し、作業キューのハンドラをキャンセルし、かつ同期処理により安全に停止させてからコンテキストを解放します。これにより use-after-free を防止します。
Linux Linux Kernel 6.6.136 未満 Linux Kernel 6.12 以上 6.12.83 未満 Linux Kernel 6.13 以上 6.18.24 未満 Linux Kernel 6.19 以上 6.19.14 未満 Linux Kernel 7.0 以上 7.0.1 未満
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
解放済みメモリの使用(CWE-416) [NVD評価]
CVE-2026-31584
National Vulnerability Database (NVD) : CVE-2026-31584 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/93d9a58961a9e09306857e999b3ee76aa4be67f0) 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f1692337c6fa26e04f89b22a4d84bf5b7ada50d1) 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/9a9bdaf9dc42ccca50e53f82165292f74a365c11) 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a8a55913552aed45108525d1851c65e1db0cc25b) 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/76e35091ffc722ba39b303e48bc5d08abb59dd56) 関連文書 : media: mediatek: vcodec: fix use-after-free in encoder release path - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f99353cd0e9f58bf17889049137b8d65fb44ebf1)
[2026年04月30日] 掲載