CVE-2026-46011 media: mtk-jpeg: fix use-after-free in release path due to uncancelled work
A use-after-free vulnerability in the Linux kernel's MediaTek JPEG driver allows attackers to execute arbitrary code or escalate privileges via a race condition.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-46011?
CVE-2026-46011 is a high-severity use after free vulnerability in Linux kernel, published on 27 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
media: mtk-jpeg: fix use-after-free in release path due to uncancelled work
The mtk_jpeg_release() function frees the context structure (ctx) without first cancelling any pending or running work in ctx->jpeg_work. This creates a race window where the workqueue callback may still be accessing the context memory after it has been freed.
Race condition:
CPU 0 (release) CPU 1 (workqueue) ---------------- ------------------ close() mtk_jpeg_release() mtk_jpegenc_worker() ctx = work->data // accessing ctx
kfree(ctx) // freed! access ctx // UAF!
The work is queued via queue_work() during JPEG encode/decode operations (via mtk_jpeg_device_run). If the device is closed while work is pending or running, the work handler will access freed memory.
Fix this by calling cancel_work_sync() BEFORE acquiring the mutex. This ordering is critical: if cancel_work_sync() is called after mutex_lock(), and the work handler also tries to acquire the same mutex, it would cause a deadlock.
Note: The open error path does NOT need cancel_work_sync() because INIT_WORK() only initializes the work structure - it does not schedule it. Work is only scheduled later during ioctl operations.
Weakness: CWE-416
Which versions are affected by CVE-2026-46011?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-46011?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-46011 being exploited?
There is no known exploitation of CVE-2026-46011 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-88629, BELL-CVE-2026-46011, DEBIAN-CVE-2026-46011, GHSA-cfrw-47v4-wfc7, ROOT-OS-UBUNTU-2404-CVE-2026-46011, UBUNTU-CVE-2026-46011.