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

futex: Avoid private hash use-after-free on final put

futex_private_hash_put() drops the reference to fph before evaluating
fph->mm for wake_up_var(). futex_ref_put() enables preemption again before
returning. If that put drops the final reference and the task is preempted,
another task can pivot to the replacement hash and free the old hash after
an RCU grace period. The first task then reads fph->mm from the freed
allocation when it resumes.

KASAN reports a slab-use-after-free in futex_private_hash_put(), with the
read at offset 24 in a freed kmalloc-512 allocation. The allocation and
free stacks point to futex_hash_allocate() and the RCU free path,
respectively.

Load the mm pointer while the fph reference is still held and pass the
saved value to wake_up_var(). wake_up_var() uses the pointer as a waitqueue
key and does not dereference the mm through it.
Published: 2026-09-04
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Kernel use‑after‑free leading to memory corruption; possible privilege escalation or denial of service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability originates in the Linux kernel’s futex subsystem, where a use‑after‑free occurs during the final put of a private hash structure. When the reference count drops to zero, the kernel drops preemption, allowing another task to free the hash’s memory. The original task later resumes and reads the freed kmalloc‑512 allocation, causing a stale mm pointer to be used in a wake_up_var() call. This kernel memory corruption can be exploited to modify kernel data structures and potentially elevate privileges or crash the system.

Affected Systems

The flaw affects any Linux kernel build that includes the unpatched futex implementation. No specific version range is provided; any kernel version prior to the inclusion of the patch contains the vulnerability.

Risk and Exploitability

No EPSS score is available and the flaw is not listed in the CISA KEV catalog, indicating limited exploitation data. The attack requires an attacker to trigger a futex operation that leads to the reference count dropping to zero, implying a local or privileged attacker context. If such conditions are met, kernel memory corruption may be introduced, potentially enabling privilege escalation. The CVSS score is not specified, so risk assessment remains qualitative based on the described use‑after‑free weakness.

Generated by OpenCVE AI on September 4, 2026 at 21:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that includes the futex private hash use‑after‑free fix
  • If a vendor update is not available, manually apply the upstream patch to the kernel source and rebuild the kernel
  • Limit the use of futex by restricting privileged processes or using container confinement to reduce the attack surface

Generated by OpenCVE AI on September 4, 2026 at 21:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 21:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 04 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: futex: Avoid private hash use-after-free on final put futex_private_hash_put() drops the reference to fph before evaluating fph->mm for wake_up_var(). futex_ref_put() enables preemption again before returning. If that put drops the final reference and the task is preempted, another task can pivot to the replacement hash and free the old hash after an RCU grace period. The first task then reads fph->mm from the freed allocation when it resumes. KASAN reports a slab-use-after-free in futex_private_hash_put(), with the read at offset 24 in a freed kmalloc-512 allocation. The allocation and free stacks point to futex_hash_allocate() and the RCU free path, respectively. Load the mm pointer while the fph reference is still held and pass the saved value to wake_up_var(). wake_up_var() uses the pointer as a waitqueue key and does not dereference the mm through it.
Title futex: Avoid private hash use-after-free on final put
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T15:12:27.689Z

Reserved: 2026-08-26T14:34:25.791Z

Link: CVE-2026-80758

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T16:18:00.830

Modified: 2026-09-04T16:18:00.830

Link: CVE-2026-80758

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T21:30:07Z

Weaknesses