CVE-2026-93054

uio: Fix stale info pointer in failed registration path

State
Published
Severity
7.0 High
Published
Sep 17, 2026
Updated
Oct 19, 2026
Reserved
Sep 17, 2026

Read the record on cve.org

Description

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

uio: Fix stale info pointer in failed registration path

After device_add(), the UIO device is visible to userspace and /dev/uioX can be opened. If a later setup step fails, __uio_register_device() unwinds the device but leaves idev->info pointing at the caller-owned struct uio_info.

That is unsafe when an opener races with the failed registration path. The open file keeps a reference to the uio_device, while the caller sees registration failure and may free its struct uio_info. Later file operations can then follow idev->info and dereference freed memory.

Handle post-device_add() failures like unregister: remove UIO attributes while the info pointer is still valid, then clear idev->info under info_lock and wake existing waiters/async users before removing the device and minor. This makes already-open file descriptors observe the same "device gone" state as normal uio_unregister_device().

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 63eaa7663335d482a8825c231213e312cacea567Affected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before df4faf65194ec6c315a59be4c6749eaeb3009243Affected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 506b43dde5f9ac0068b1360e6b5dbee07fda59fbAffected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 15340b00e665af805523b08515294a1aa1778151Affected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 234156f6c6d9ec35dc47abbcc3adc3c79fc6a5acAffected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 16695e9059d80ea6661e8399064b0c01f641dd8cAffected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before ec5bd6731183eb6f619140c9bef2ee11ed818c20Affected
  • a93e7b331568227500186a465fee3c2cb5dffd1f to before 67b6fc084b034a91c3ec7907a3fed89a2450f30bAffected
  • 085d735c858934e5d5bfaedb1fc98bd9135e6ff1Affected
  • 4.14.100 to before 4.15Affected
LinuxLinux
  • 4.18Affected
  • before 4.18Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 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.