{"id":"CVE-2023-52491","summary":"media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run\n\nIn mtk_jpeg_probe, &jpeg-\u003ejob_timeout_work is bound with\nmtk_jpeg_job_timeout_work.\n\nIn mtk_jpeg_dec_device_run, if error happens in\nmtk_jpeg_set_dec_dst, it will finally start the worker while\nmark the job as finished by invoking v4l2_m2m_job_finish.\n\nThere are two methods to trigger the bug. If we remove the\nmodule, it which will call mtk_jpeg_remove to make cleanup.\nThe possible sequence is as follows, which will cause a\nuse-after-free bug.\n\nCPU0                  CPU1\nmtk_jpeg_dec_...    |\n  start worker\t    |\n                    |mtk_jpeg_job_timeout_work\nmtk_jpeg_remove     |\n  v4l2_m2m_release  |\n    kfree(m2m_dev); |\n                    |\n                    | v4l2_m2m_get_curr_priv\n                    |   m2m_dev-\u003ecurr_ctx //use\n\nIf we close the file descriptor, which will call mtk_jpeg_release,\nit will have a similar sequence.\n\nFix this bug by starting timeout worker only if started jpegdec worker\nsuccessfully. Then v4l2_m2m_job_finish will only be called in\neither mtk_jpeg_job_timeout_work or mtk_jpeg_dec_device_run.","modified":"2026-04-02T09:42:54.010452Z","published":"2024-02-29T15:52:09.891Z","related":["USN-6818-2","USN-6819-2"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52491.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1b1036c60a37a30caf6759a90fe5ecd06ec35590"},{"type":"WEB","url":"https://git.kernel.org/stable/c/206c857dd17d4d026de85866f1b5f0969f2a109e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/43872f44eee6c6781fea1348b38885d8e78face9"},{"type":"WEB","url":"https://git.kernel.org/stable/c/6e2f37022f0fc0893da4d85a0500c9d547fffd4c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8254d54d00eb6cdb8367399c7f912eb8d354ecd7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9fec4db7fff54d9b0306a332bab31eac47eeb5f6"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52491.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-52491"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"b2f0d2724ba477d326e9d654d4db1c93e98f8b93"},{"fixed":"43872f44eee6c6781fea1348b38885d8e78face9"},{"fixed":"1b1036c60a37a30caf6759a90fe5ecd06ec35590"},{"fixed":"9fec4db7fff54d9b0306a332bab31eac47eeb5f6"},{"fixed":"8254d54d00eb6cdb8367399c7f912eb8d354ecd7"},{"fixed":"6e2f37022f0fc0893da4d85a0500c9d547fffd4c"},{"fixed":"206c857dd17d4d026de85866f1b5f0969f2a109e"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52491.json"}}],"schema_version":"1.7.5"}