Skip to content
Noroxi
NVD / CVE Program· CNA Linux

CVE-2026-80775: futex: Fix race on the initial mm->futex.phash.ref allocation

Noroxi assessment

Priority: Monitor (action score 0/100)

  • Public proof-of-concept code exists (GitHub); there is no record of exploitation in the wild.
  • Probability of exploitation in the next 30 days: 0.18% (FIRST EPSS).
  • Fixed version: Linux Linux 86d12b34bafc9a4c271a9edefea88855a934d6e5, bde0238083647381d4747355c5a19115a3422b96, c4b4972d8edcdf50b6518f55119e129d2f668a10.

Low priority for now. Upgrade to Linux Linux 86d12b34bafc9a4c271a9edefea88855a934d6e5, bde0238083647381d4747355c5a19115a3422b96, c4b4972d8edcdf50b6518f55119e129d2f668a10 or later.

Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it

Primary sources: NVD · CVE.org · FIRST EPSS

In the Linux kernel, the following vulnerability has been resolved: futex: Fix race on the initial mm->futex.phash.ref allocation futex_hash_allocate() allocates mm->futex.phash.ref without any locking. Commit d9b05321e21e ("futex: Move futex_hash_free() back to __mmput()") moved the allocation here and assumed that the process has just a single thread at this point. Commit ee9dce44362b ("futex: Drop CLONE_THREAD requirement for private default hash alloc") widened need_futex_hash_allocate_default() to cover any CLONE_VM clone, but left out vfork because the parent is suspended and cannot race. That no longer holds once vfork is nested. If a vfork child calls vfork again and is then killed with SIGKILL, the parent is released from its vfork wait and runs concurrently with the grandchild in the same mm. Neither of them went through futex_hash_allocate_default(). When both call prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS) at the same time, each one sees mm->futex.phash.ref as NULL and stores its own percpu counter. Only the last store survives. The counter stored first is no longer reachable from the mm, so the references on it are not seen by __futex_ref_atomic_end(). A private hash that still has references is then considered dead and freed, and a task that still holds one of its buckets writes into freed memory in futex_q_lock(). Store the counter once with cmpxchg() and let the loser free_percpu() its own. The initial reference has to be taken before the store, otherwise another task can install a private hash while the counter is still 0.

—Proof of concept Fix available
Published
Sep 4, 2026
Updated
Oct 19, 2026
EPSS
0.1% · 8th percentile
CWE
—

Report tools

JSON

Action score

0

Monitor

Low priority for now.

CVSS
0 / 40 · —
CISA KEV
0 / 30 · Not listed
EPSS
0 / 30 · 0.1%

Get told when this record changes

  • Not in KEV: no record of exploitation in the wild
  • Proof of concept exists, no weaponized module
  • A fix has been released

If any of these changes, we'll tell you in the daily email digest.

Follow CVE-2026-80775

When you'll hear from us

  • when it enters CISA KEV
  • when exploit code appears or is weaponized
  • when the record is updated (including a fixed version)
  • when EPSS rises 20 points in a week

One daily email digest (06:00 UTC); connect a webhook for KEV listings and weaponized exploits instantly.

Your free account also gets you

Running WordPress? Scan your site free with WP Lens

  • Stack alerts: add the products and versions you run, get the new CVEs that affect them
  • Uptime monitoring: 1 site, instant email when it goes down
  • Add your domain: subdomains and takeover risk scanned every week (1 domain)
  • 10 scans an hour on the security tools (3 a day without an account), an API key and MCP
  • All your scans in one panel: findings, what changed in the last scan, a report per domain or per client (PDF, share link)
All free tools

Sign up with email · Have an account? Sign in

Free account, no card. Unfollow any time.

Running WordPress? Scan your site free with WP Lens

Is your version affected? Check it

Noroxi analysis

What does it mean in your environment?

The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.

We use this product, ask for help

Affected systems

Is your version affected?

Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.

—

Versions reported by the vendor

Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.

  • Linux Linux

    • 6.17affected
    • d9b05321e21e4b218de4ce8a590bf375f58b6346 and later · before 86d12b34bafc9a4c271a9edefea88855a934d6e5affected · git
    • d9b05321e21e4b218de4ce8a590bf375f58b6346 and later · before ff252ed45c8263525f2f54d81c5fa6d547fba344affected · git
    • d9b05321e21e4b218de4ce8a590bf375f58b6346 and later · before c4b4972d8edcdf50b6518f55119e129d2f668a10affected · git
    • d9b05321e21e4b218de4ce8a590bf375f58b6346 and later · before bde0238083647381d4747355c5a19115a3422b96affected · git
    • before 6.17not affected · semver
    • 6.18.47 and later · up to and including 6.18.*not affected · semver
    • 7.1.11 and later · up to and including 7.1.*not affected · semver
    • 7.2.1 and later · up to and including 7.2.*not affected · semver
    • 7.3 and laternot affected · original_commit_for_fix

Package-level exposure

OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.

EcosystemPackageAffected rangeFix
AlmaLinux:9kernelbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64kbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debugbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-develbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-devel-matchedbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-modulesbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-modules-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-debug-modules-extrabefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-develbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-devel-matchedbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-modulesbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-modules-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-64k-modules-extrabefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-abi-stablelistsbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-cross-headersbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debugbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debug-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debug-develbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debug-devel-matchedbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debug-modulesbefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8
AlmaLinux:9kernel-debug-modules-corebefore 5.14.0-687.54.1.el9_85.14.0-687.54.1.el9_8

+96

Other highest-scoring records for the same primary product.

  • CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation
    40Plan
  • CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment
    40Plan
  • CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()
    40Plan

Published before and after this one in the same product

  • ← EarlierCVE-2026-80773Sep 4, 2026 · HID: huawei: fix missing hid_is_usb() check
    0Monitor
  • ← EarlierCVE-2026-80774Sep 4, 2026 · HID: asus: fix missing hid_is_usb() check
    0Monitor
  • Later →CVE-2026-80777Sep 4, 2026 · futex/pi: Plug private futex exec() race
    0Monitor

Remediation

Which version to upgrade to

Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.

Product / packageFixed versionSource
Linux Linux86d12b34bafc9a4c271a9edefea88855a934d6e5Vendor (CNA)
Linux Linuxbde0238083647381d4747355c5a19115a3422b96Vendor (CNA)
Linux Linuxc4b4972d8edcdf50b6518f55119e129d2f668a10Vendor (CNA)
Linux Linuxff252ed45c8263525f2f54d81c5fa6d547fba344Vendor (CNA)
almalinux:kernel5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-core5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-core5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-devel5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-devel-matched5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-modules5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-modules-core5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-debug-modules-extra5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-devel5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
almalinux:kernel-64k-devel-matched5.14.0-687.54.1.el9_8 · AlmaLinux:9Package registry (OSV)
debian:linux7.1.12-1 · Debian:14Package registry (OSV)
opensuse:kernel-source7.2.5-1.1 · openSUSE:TumbleweedPackage registry (OSV)
red hat:kernel-64k-debug-debuginfo0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-64k-debug-devel0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-64k-debug-devel-matched0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-64k-debuginfo0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-64k-devel0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-64k-devel-matched0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debug-debuginfo0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debug-devel0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debug-devel-matched0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debuginfo0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debuginfo-common-aarch640:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)
red hat:kernel-debuginfo-common-ppc64le0:5.14.0-687.54.1.el9_8 · Red Hat:enterprise_linux:9::appstreamPackage registry (OSV)

+1

Exploit status

Proof of concept available

A public proof of concept or detection signature exists. Exploit knowledge is out there; don't delay patching.

Evidence

  • Proof-of-concept repository on GitHub ×1

Noroxi does not host or link to exploit code. Metasploit module names and Nuclei template ids are shown (names, not code); Exploit-DB entries and PoC repositories are given as counts only.

Public exploit evidence
SourceKindDate
Proof-of-concept repository on GitHubstars:32026-10-18

Research context

For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.

Timeline

From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.

  1. Published
  2. First PoC+43 d
  3. TodayNov 2, 2026+59 d
EPSS, last 120 days

FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).

Patch and commit links

Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.

No commit or PR link among the references.

Finders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.

No credits in the CNA record.

Variant candidates

Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.

No nightly-computed relations.

Chain candidates

An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.

—

Bug bounty scope

No known public program.

Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).

Technical details

No CVSS vector for this record, so attack conditions can't be derived.

Weakness class (CWE)

—

Attack context

MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.

MITRE has no CAPEC/ATT&CK mapping for this CWE.

Change log

  1. Exploit maturitynone → poc
  2. Fix✗ → ✓

For records you follow, these changes also arrive as notifications. →

References

All records