CVE-2026-31583CWE-416

CVE-2026-31583

High · published April 24, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
7.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

media: em28xx: fix use-after-free in em28xx_v4l2_open()

em28xx_v4l2_open() reads dev->v4l2 without holding dev->lock,

creating a race with em28xx_v4l2_init()'s error path and

em28xx_v4l2_fini(), both of which free the em28xx_v4l2 struct

and set dev->v4l2 to NULL under dev->lock.

This race leads to two issues:

- use-after-free in v4l2_fh_init() when accessing vdev->ctrl_handler,

since the video_device is embedded in the freed em28xx_v4l2 struct.

- NULL pointer dereference in em28xx_resolution_set() when accessing

v4l2->norm, since dev->v4l2 has been set to NULL.

Fix this by moving the mutex_lock() before the dev->v4l2 read and

adding a NULL check for dev->v4l2 under the lock.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00179 · 7.1th percentile
Weakness
CWE-416 · Use After Free
Published
2026-04-24T19:16Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel< 6.6.1366.6.136
linux/linux_kernel≥ 6.12, < 6.12.836.12.83
linux/linux_kernel≥ 6.13, < 6.18.246.18.24
linux/linux_kernel≥ 6.19, < 6.19.146.19.14
linux/linux_kernel≥ 7.0, < 7.0.17.0.1
References (10)
EPSS history
Timeline
  • 24 APR 14:42Z
    media: em28xx: fix use-after-free in em28xx_v4l2_open()
    cvelistv5