GHSA-QWMC-GMGX-XF8H
Vulnerability from github – Published: 2026-10-18 18:32 – Updated: 2026-10-18 18:32In the Linux kernel, the following vulnerability has been resolved:
futex: Fix private hash use-after-free on resize
poll_state_synchronize_rcu(mm->futex.phash.batches) is used by futex_ref_drop() to check that a grace period has passed since the current hash was published. This relies on batches referencing a grace period which started after the hash pointer was assigned.
__futex_pivot_hash() sets mmph->batches before it replaces mmph->hash:
scoped_guard(rcu) {
mmph->batches = get_state_synchronize_rcu();
rcu_assign_pointer(mmph->hash, new);
}
The scoped_guard(rcu) doesn't stop new grace periods from starting, and if one starts between those two assignments, futex_ref_drop() can move forward while a reader still holds a pointer to the old hash.
Fix things by setting mmph->batches after assigning mmph->hash. The scoped_guard(rcu) isn't needed, so let's drop that as well.
{
"affected": [],
"aliases": [
"CVE-2026-98788"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-18T16:17:32Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Fix private hash use-after-free on resize\n\npoll_state_synchronize_rcu(mm-\u003efutex.phash.batches) is used by\nfutex_ref_drop() to check that a grace period has passed since the\ncurrent hash was published. This relies on batches referencing a grace\nperiod which started after the hash pointer was assigned.\n\n__futex_pivot_hash() sets mmph-\u003ebatches before it replaces mmph-\u003ehash:\n\n scoped_guard(rcu) {\n mmph-\u003ebatches = get_state_synchronize_rcu();\n rcu_assign_pointer(mmph-\u003ehash, new);\n }\n\nThe scoped_guard(rcu) doesn\u0027t stop new grace periods from starting, and\nif one starts between those two assignments, futex_ref_drop() can move\nforward while a reader still holds a pointer to the old hash.\n\nFix things by setting mmph-\u003ebatches after assigning mmph-\u003ehash. The\nscoped_guard(rcu) isn\u0027t needed, so let\u0027s drop that as well.",
"id": "GHSA-qwmc-gmgx-xf8h",
"modified": "2026-10-18T18:32:03Z",
"published": "2026-10-18T18:32:03Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98788"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/5d5dc18b3a9ac011619b7d3af4514bf9e9b6a6af"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/f35e3b5784221654f9cdbd6222275a7fa203f6c3"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.