CVE-2026-23158

gpio: virtuser: fix UAF in configfs release path

Published Feb 14, 2026 CVSS 3.1 · 7.8 High EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

gpio: virtuser: fix UAF in configfs release path

The gpio-virtuser configfs release path uses guard(mutex) to protect
the device structure. However, the device is freed before the guard
cleanup runs, causing mutex_unlock() to operate on freed memory.

Specifically, gpio_virtuser_device_config_group_release() destroys
the mutex and frees the device while still inside the guard(mutex)
scope. When the function returns, the guard cleanup invokes
mutex_unlock(&dev->lock), resulting in a slab use-after-free.

Limit the mutex lifetime by using a scoped_guard() only around the
activation check, so that the lock is released before mutex_destroy()
and kfree() are called.

Analysis

AI-generated

Technical impact

In the Linux kernel, the gpio‑virtuser configfs release path had a bug where the device structure was freed before the mutex guard cleanup ran, causing a slab use‑after‑free. The mutex was destroyed and memory freed while still inside the guard scope, so the subsequent mutex_unlock() operated on invalid memory. This flaw could be exploited to gain arbitrary code execution or compromise kernel integrity.

Affected Systems

Linux kernel implementations, specifically the 6.19 release candidates (rc1 through rc7). The vulnerability exists in the standard Linux kernel and affects systems using these kernel versions without the backport or patch applied.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity. The EPSS score is less than 1 %, suggesting a currently low probability of exploitation, though it is not zero. The vulnerability is not listed in the CISA KEV catalog. Likely attack vectors involve local privilege escalation through interaction with the gpio‑virtuser configfs entries, which may be accessible to unprivileged users in some deployments. Once triggered, the use‑after‑free can allow an attacker to execute arbitrary code in kernel mode.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest kernel release that includes the fix or backport the patch to the running kernel.
  • Remove or unmount the configfs gpio‑virtuser entries until the patch is applied to prevent the triggering path.
  • If immediate kernel update is not possible, disable the virtuser module or restrict access to configfs so that only trusted processes can interact with the gpio‑virtuser device.

Generated by OpenCVE AI on April 17, 2026 at 19:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-8570-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8594-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8604-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8605-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8570-2 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8669-1 Linux kernel (NVIDIA) vulnerabilities
History
Type Values Removed Values Added
Weaknesses CWE-416
CPEs cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc7:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: gpio: virtuser: fix UAF in configfs release path The gpio-virtuser configfs release path uses guard(mutex) to protect the device structure. However, the device is freed before the guard cleanup runs, causing mutex_unlock() to operate on freed memory. Specifically, gpio_virtuser_device_config_group_release() destroys the mutex and frees the device while still inside the guard(mutex) scope. When the function returns, the guard cleanup invokes mutex_unlock(&dev->lock), resulting in a slab use-after-free. Limit the mutex lifetime by using a scoped_guard() only around the activation check, so that the lock is released before mutex_destroy() and kfree() are called.
Title gpio: virtuser: fix UAF in configfs release path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
May 11, 2026, 10:01 PM
Reserved
Jan 13, 2026, 3:37 PM
Status
Analyzed
Published
Feb 14, 2026, 4:15 PM
Modified
Jun 17, 2026, 10:21 AM
Severity
Public date
Feb 14, 2026, 12:00 AM