Skip to main content
VulnerabilityPublished Updated

CVE-2026-31583: Linux kernel · media: em28xx: fix use-after-free in em28xx_v4l2_open()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in dd2b888e08d3b3d6aacd65d76cd44fac11da750f : update Linux kernel when convenient.

Data as of 6 Nov 2026, 15:34 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in dd2b888e08d3b3d6aacd65d76cd44fac11da750f, b5d141ea15f173f15b9f0a72965902f3428c0d92, a66485a934c7187ae8e36517d40615fa2e961cff +6

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 24 Apr 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < dd2b888e08d3b3d6aacd65d76cd44fac11da750f
Fixed in
  • dd2b888e08d3b3d6aacd65d76cd44fac11da750f
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < b5d141ea15f173f15b9f0a72965902f3428c0d92
Fixed in
  • b5d141ea15f173f15b9f0a72965902f3428c0d92
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < a66485a934c7187ae8e36517d40615fa2e961cff
Fixed in
  • a66485a934c7187ae8e36517d40615fa2e961cff
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < 871b8ea8ef39a6c253594649f4339378fad3d0dd
Fixed in
  • 871b8ea8ef39a6c253594649f4339378fad3d0dd
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < 38a327221f7f765e7d853b7bafe47e342441ec85
Fixed in
  • 38a327221f7f765e7d853b7bafe47e342441ec85
LinuxLinuxAffected
  • ≥ 8139a4d583abad45eb987b5a99b3281b6d435b7e, < 6b9e66437cc6123ddedac141e1b8b6fcf57d2972
Fixed in
  • 6b9e66437cc6123ddedac141e1b8b6fcf57d2972

Description

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.

References

Community reviews

Loading reviews…