CVE-2023-52491·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run In mtk_jpeg_probe, &jpeg->job_timeout_work is bound with mtk_jpeg_job_timeout_work. In mtk_jpeg_dec_device_run, if error happens in mtk_jpeg_set_dec_dst, it will finally start the worker while mark the job as finished by invoking v4l2_m2m_job_finish. There are two methods to trigger the bug. If we remove the module, it which will call mtk_jpeg_remove to make cleanup. The possible sequence is as follows, which will cause a use-after-free bug. CPU0 CPU1 mtk_jpeg_dec_... | start worker | |mtk_jpeg_job_timeout_work mtk_jpeg_remove | v4l2_m2m_release | kfree(m2m_dev); | | | v4l2_m2m_get_curr_priv | m2m_dev->curr_ctx //use If we close the file descriptor, which will call mtk_jpeg_release, it will have a similar sequence. Fix this bug by starting timeout worker only if started jpegdec worker successfully. Then v4l2_m2m_job_finish will only be called in either mtk_jpeg_job_timeout_work or mtk_jpeg_dec_device_run.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.7.3
- Published
- 2024-03-11
Affected versions
From: 6.7
Until: 6.7.3
Fixed in: 6.7.3
How to fix this CVE
Update your Linux kernel to version 6.7.3 or later to resolve a use-after-free vulnerability in the MTK JPEG decoder driver. This flaw occurs when error handling during JPEG decoding improperly manages worker threads, leading to potential memory corruption. Systems running kernel versions 6.7 through 6.7.2 should prioritize this update immediately.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check the installed kernel version: uname -r
- Verify if the MTK JPEG codec driver is loaded: lsmod | grep mtk_jpeg
- Search system logs for JPEG decoding errors: journalctl -u kernel | grep -i 'mtk_jpeg\|use.*after.*free'
- Confirm the kernel update was applied by running uname -r again and verifying version is 6.7.3 or later
FAQ
What is CVE-2023-52491?
CVE-2023-52491 is a use-after-free vulnerability in the Linux kernel's MTK JPEG decoder that arises from improper error handling during the device run operation. When the decoder encounters an error, the timeout worker thread may attempt to access freed memory structures, causing potential system instability or privilege escalation.
Is CVE-2023-52491 being actively exploited?
No, CVE-2023-52491 is not currently listed as actively exploited by CISA and no public exploits are available, though it remains a high-severity issue requiring prompt patching.
What versions of Kernel are affected by CVE-2023-52491?
Linux kernel versions 6.7 through 6.7.2 are vulnerable. The fix was introduced in kernel 6.7.3.
How do I check if my server is vulnerable to CVE-2023-52491?
Run uname -r to check your kernel version. If it outputs 6.7, 6.7.1, or 6.7.2, your system is vulnerable and requires an immediate kernel update.
Does Defensia detect CVE-2023-52491?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2023-52491 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/1b1036c60a37a30caf6759a90fe5ecd06ec35590
- https://git.kernel.org/stable/c/206c857dd17d4d026de85866f1b5f0969f2a109e
- https://git.kernel.org/stable/c/43872f44eee6c6781fea1348b38885d8e78face9
- https://git.kernel.org/stable/c/6e2f37022f0fc0893da4d85a0500c9d547fffd4c
- https://git.kernel.org/stable/c/8254d54d00eb6cdb8367399c7f912eb8d354ecd7
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52491. Free for 1 server.
Get started free