critical · CVSS v3 9.8

CVE-2026-98657

A critical use‑after‑free in the Linux kernel’s IIO proximity pulsedlight driver leaves a device registered after a PM setup failure, leavin

Overview

A critical use‑after‑free in the Linux kernel’s IIO proximity pulsedlight driver leaves a device registered after a PM setup failure, leaving dangling sysfs and character device nodes that point to freed memory. This flaw can crash the system or be used to gain elevated privileges. The kernel now unregisters the device on error to prevent the issue.

Description

In the Linux kernel, the following vulnerability has been resolved: iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure pm_runtime_set_active() failing in probe() jumps to error_unreg_buffer, which only calls iio_triggered_buffer_cleanup() -- it does not undo the iio_device_register() that already succeeded a few lines above. probe() then returns the error, the devm-managed indio_dev is freed, but the iio core still has it registered: the sysfs/chardev nodes stay live and point at freed memory. Add an error_unreg_dev label that unregisters the iio device before falling through to the existing buffer cleanup, mirroring the teardown order already used in lidar_remove().

Impact

The vulnerability allows attackers to trigger a use‑after‑free that can crash the kernel or lead to privilege escalation, compromising confidentiality, integrity, and availability of the affected system. Defenders should treat it as a high‑risk flaw that can be exploited remotely if the attacker can trigger the faulty probe path. The flaw affects all systems running a kernel version prior to the patch that introduced the error_unreg_dev label.

Remediation

Apply the latest kernel update that includes the fix (e.g., kernel 6.8+ or the specific patch from the vendor). If immediate patching is not possible, disable the pulsedlight IIO driver or block the device from being probed, and enable kernel hardening options such as CONFIG_DEBUG_KERNEL, CONFIG_KASAN, and CONFIG_RCU_USER_QS. Monitor sysfs for dangling nodes and ensure runtime PM is correctly configured.

Risk context

Severity is critical (CVSS 9.8) with no EPSS data, indicating a high likelihood of exploitation in the wild. Defenders should prioritize patching as soon as possible.

Affected products

  • Linux kernel
  • Ubuntu kernel
  • Red Hat kernel
  • Fedora kernel
  • Debian kernel
  • CentOS kernel
  • Arch Linux kernel
  • OpenSUSE kernel

Scores

Severity
critical
CVSS v2
7.5
CVSS v3
9.8
CVSS v4
—
EPSS
—

kernel iio use-after-free critical privilege-escalation sysfs runtime-pm

← All CVEs