CVE-2026-46011

media: mtk-jpeg: fix use-after-free in release path due to uncancelled work

State
Published
Severity
7.8 High
Published
May 27, 2026
Updated
Aug 5, 2026
Reserved
May 13, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5fb1c2361e5630491d2a2f9359654eb022601bc0 to before 2209fdae5c2f615930c9af1379c1cfca199ec5d8Affected
  • 5fb1c2361e5630491d2a2f9359654eb022601bc0 to before 0498b27a1542021d90269d58347501d4c3ccd84eAffected
  • 5fb1c2361e5630491d2a2f9359654eb022601bc0 to before 26506a30e0e26d612f82a7bf0e395626968a44e6Affected
  • 5fb1c2361e5630491d2a2f9359654eb022601bc0 to before e78c39f720679fcf3a2eacd82725ec3ea2648301Affected
  • 5fb1c2361e5630491d2a2f9359654eb022601bc0 to before 34c519feef3e4fcff1078dc8bdb25fbbbd10303fAffected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 6.6.140 through 6.6.*Not affected
  • 6.12.86 through 6.12.*Not affected
  • 6.18.27 through 6.18.*Not affected
  • 7.0.4 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.