{"api_version":"1","generated_at":"2026-09-26T14:08:22+00:00","cve":"CVE-2026-80758","urls":{"html":"https://cve.report/CVE-2026-80758","api":"https://cve.report/api/cve/CVE-2026-80758.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-80758","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-80758"},"summary":{"title":"futex: Avoid private hash use-after-free on final put","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Avoid private hash use-after-free on final put\n\nfutex_private_hash_put() drops the reference to fph before evaluating\nfph->mm for wake_up_var(). futex_ref_put() enables preemption again before\nreturning. If that put drops the final reference and the task is preempted,\nanother task can pivot to the replacement hash and free the old hash after\nan RCU grace period. The first task then reads fph->mm from the freed\nallocation when it resumes.\n\nKASAN reports a slab-use-after-free in futex_private_hash_put(), with the\nread at offset 24 in a freed kmalloc-512 allocation. The allocation and\nfree stacks point to futex_hash_allocate() and the RCU free path,\nrespectively.\n\nLoad the mm pointer while the fph reference is still held and pass the\nsaved value to wake_up_var(). wake_up_var() uses the pointer as a waitqueue\nkey and does not dereference the mm through it.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-04 16:18:00","updated_at":"2026-09-04 16:18:00"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/1c7efabfbaf796f11000a46094a69955a01ec6cc","name":"https://git.kernel.org/stable/c/1c7efabfbaf796f11000a46094a69955a01ec6cc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/dba60d26e9dda3e157ad6b0934d4232f6c6904ee","name":"https://git.kernel.org/stable/c/dba60d26e9dda3e157ad6b0934d4232f6c6904ee","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/12cd315a7b6a7d7db3f69d98bfe3909275e9451d","name":"https://git.kernel.org/stable/c/12cd315a7b6a7d7db3f69d98bfe3909275e9451d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/25408c62ed4ebcd491d0e9e4b4a5b512547512e4","name":"https://git.kernel.org/stable/c/25408c62ed4ebcd491d0e9e4b4a5b512547512e4","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-80758","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-80758","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected bd54df5ea7cadac520e346d5f0fe5d58e635b6ba dba60d26e9dda3e157ad6b0934d4232f6c6904ee git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected bd54df5ea7cadac520e346d5f0fe5d58e635b6ba 12cd315a7b6a7d7db3f69d98bfe3909275e9451d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected bd54df5ea7cadac520e346d5f0fe5d58e635b6ba 25408c62ed4ebcd491d0e9e4b4a5b512547512e4 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected bd54df5ea7cadac520e346d5f0fe5d58e635b6ba 1c7efabfbaf796f11000a46094a69955a01ec6cc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.47 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.11 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.1 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"80758","cve":"CVE-2026-80758","epss":"0.001680000","percentile":"0.063070000","score_date":"2026-09-07","updated_at":"2026-09-08 00:05:27"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["kernel/futex/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"dba60d26e9dda3e157ad6b0934d4232f6c6904ee","status":"affected","version":"bd54df5ea7cadac520e346d5f0fe5d58e635b6ba","versionType":"git"},{"lessThan":"12cd315a7b6a7d7db3f69d98bfe3909275e9451d","status":"affected","version":"bd54df5ea7cadac520e346d5f0fe5d58e635b6ba","versionType":"git"},{"lessThan":"25408c62ed4ebcd491d0e9e4b4a5b512547512e4","status":"affected","version":"bd54df5ea7cadac520e346d5f0fe5d58e635b6ba","versionType":"git"},{"lessThan":"1c7efabfbaf796f11000a46094a69955a01ec6cc","status":"affected","version":"bd54df5ea7cadac520e346d5f0fe5d58e635b6ba","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["kernel/futex/core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.16"},{"lessThan":"6.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.47","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.11","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.1","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.47","versionStartIncluding":"6.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.11","versionStartIncluding":"6.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.1","versionStartIncluding":"6.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc1","versionStartIncluding":"6.16","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Avoid private hash use-after-free on final put\n\nfutex_private_hash_put() drops the reference to fph before evaluating\nfph->mm for wake_up_var(). futex_ref_put() enables preemption again before\nreturning. If that put drops the final reference and the task is preempted,\nanother task can pivot to the replacement hash and free the old hash after\nan RCU grace period. The first task then reads fph->mm from the freed\nallocation when it resumes.\n\nKASAN reports a slab-use-after-free in futex_private_hash_put(), with the\nread at offset 24 in a freed kmalloc-512 allocation. The allocation and\nfree stacks point to futex_hash_allocate() and the RCU free path,\nrespectively.\n\nLoad the mm pointer while the fph reference is still held and pass the\nsaved value to wake_up_var(). wake_up_var() uses the pointer as a waitqueue\nkey and does not dereference the mm through it."}],"providerMetadata":{"dateUpdated":"2026-09-04T15:12:27.689Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/dba60d26e9dda3e157ad6b0934d4232f6c6904ee"},{"url":"https://git.kernel.org/stable/c/12cd315a7b6a7d7db3f69d98bfe3909275e9451d"},{"url":"https://git.kernel.org/stable/c/25408c62ed4ebcd491d0e9e4b4a5b512547512e4"},{"url":"https://git.kernel.org/stable/c/1c7efabfbaf796f11000a46094a69955a01ec6cc"}],"title":"futex: Avoid private hash use-after-free on final put","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-80758","datePublished":"2026-09-04T15:12:27.689Z","dateReserved":"2026-08-26T14:34:25.791Z","dateUpdated":"2026-09-04T15:12:27.689Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-04 16:18:00","lastModifiedDate":"2026-09-04 16:18:00","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"80758","Ordinal":"1","Title":"futex: Avoid private hash use-after-free on final put","CVE":"CVE-2026-80758","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"80758","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Avoid private hash use-after-free on final put\n\nfutex_private_hash_put() drops the reference to fph before evaluating\nfph->mm for wake_up_var(). futex_ref_put() enables preemption again before\nreturning. If that put drops the final reference and the task is preempted,\nanother task can pivot to the replacement hash and free the old hash after\nan RCU grace period. The first task then reads fph->mm from the freed\nallocation when it resumes.\n\nKASAN reports a slab-use-after-free in futex_private_hash_put(), with the\nread at offset 24 in a freed kmalloc-512 allocation. The allocation and\nfree stacks point to futex_hash_allocate() and the RCU free path,\nrespectively.\n\nLoad the mm pointer while the fph reference is still held and pass the\nsaved value to wake_up_var(). wake_up_var() uses the pointer as a waitqueue\nkey and does not dereference the mm through it.","Type":"Description","Title":"futex: Avoid private hash use-after-free on final put"}]}}}