KernelScan.io

HIGH

uio InfoPointer UAF

CVE-2026-93054

CVSS 7.0 / 10.0 NVD

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.0HIGH

01

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().

02

Engine v0.6.0

Risk summary

A local user who can open a UIO device node can race with a failing device registration to trigger a use-after-free on the driver's configuration structure. This can lead to kernel memory corruption, information disclosure, or a crash. The vulnerability requires a UIO device to be present and its registration to fail after the device becomes visible to userspace.

Affecteddrivers/uio/uio.c (uio)

Vulnerability analysis

When a UIO device registration fails after the device has already been made visible to userspace, the error cleanup path leaves a pointer to the caller's configuration structure in place. A process that opened the device during the brief registration window retains a reference to the UIO device and can trigger file operations that follow this now-stale pointer into freed memory. The fix clears the pointer under the device's info lock and notifies any waiting processes before removing the device, so already-open file descriptors see the same 'device gone' state as a normal unregistration. The vulnerability requires local access to a UIO device node and winning a race with a failing device registration, which typically depends on a kernel driver encountering an error during probe.

03

BranchIntroducedFixed inPatch commit
4.144.14.1004.1563eaa7663335
5.10—5.10.270df4faf65194e
5.15—5.15.221506b43dde5f9
6.1—6.1.18815340b00e665
6.12—6.12.11016695e9059d8
6.18—6.18.52ec5bd6731183
6.6—6.6.157234156f6c6d9
7.2—7.2.667b6fc084b03
mainline—7.3—
cip/5.10—5.10.271-cip7863eaa7663335
cip/6.1—6.1.189-cip61506b43dde5f9
cip/6.1-rt—6.1.189-cip61-rt32506b43dde5f9
cip/6.12—6.12.111-cip32234156f6c6d9

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)