CVE-2026-64142

CRITICALPre-NVD 9.89.8
EchelonGraph scoreMEDIUM confidence

Score 9.8 from GitHub Security Advisory (severity: CRITICAL) published 2026-07-19. a secondary CVSS source baseline 9.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this week
9.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 1%CVSS: 9.8Exploit: None knownExposed: 0

A fix is available — apply it.

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

ksmbd: close durable scavenger races against m_fp_list lookups

ksmbd_durable_scavenger() has two related races against any walker that iterates f_ci->m_fp_list, including ksmbd_lookup_fd_inode() (used by ksmbd_vfs_rename) and the share-mode checks in fs/smb/server/smb_common.c.

(1) fp->node list-head reuse. Durable-preserved handles can remain linked on f_ci->m_fp_list after session teardown so share-mode checks still see them while the handle is reconnectable. The scavenger collected expired handles by adding fp->node to a local scavenger_list after removing them from the global durable idr. Because fp->node is the same list_head used by m_fp_list, list_add(&fp->node, &scavenger_list) overwrites the m_fp_list links and corrupts both lists. CONFIG_DEBUG_LIST can report this on the share-mode walk path.

(2) Refcount race against m_fp_list walkers. The scavenger qualifies an expired durable handle with atomic_read(&fp->refcount) > 1 and fp->conn under global_ft.lock, removes fp from global_ft, then drops global_ft.lock before unlinking fp from m_fp_list and freeing it. During that gap fp is still linked on m_fp_list with f_state == FP_INITED. ksmbd_lookup_fd_inode() under m_lock read calls ksmbd_fp_get() (atomic_inc_not_zero on refcount that is still 1) and takes a live reference; the scavenger then unlinks and frees fp while the holder owns a reference, leading to UAF on the holder's subsequent ksmbd_fd_put() and on any field reads performed by a concurrent share-mode walker that iterates m_fp_list without taking ksmbd_fp_get() (smb_check_perm_dleases-like paths).

Fix both:

* Stop reusing fp->node as a scavenger-private list node. Remove one expired handle from global_ft under global_ft.lock, take an explicit transient reference, drop the lock, unlink fp->node from m_fp_list under f_ci->m_lock, then drop both the durable lifetime and transient references with atomic_sub_and_test(2, &fp->refcount). If the scavenger is the last putter the close runs there; otherwise an in-flight holder that already raced through the m_fp_list lookup owns the final close via its ksmbd_fd_put() path. The one-at-a-time disposal can rescan the durable idr when multiple handles expire in the same pass, but durable scavenging is a background expiration path and the final full scan recomputes min_timeout before the next wait.

* Clear fp->persistent_id inside __ksmbd_remove_durable_fd() right after idr_remove(), so a delayed final close from a holder that snatched fp does not re-issue idr_remove() on a persistent id that idr_alloc_cyclic() in ksmbd_open_durable_fd() may have already handed out to a brand-new durable handle.

* Bypass the per-conn open_files_count decrement in __put_fd_final() when fp is detached from any session table (fp->conn cleared by session_fd_check() at durable preserve -- paired with the volatile_id clear at unpublish, so checking fp->conn alone is sufficient). The walker that owns the final close runs from an unrelated work->conn whose stats.open_files_count never tracked this durable fp; without this guard the holder would underflow that unrelated counter.

The two races are folded into one patch because patch (1) alone cleans up the corrupted list but leaves a deterministic UAF window for m_fp_list walkers that the transient-reference and persistent_id discipline in (2) close; bisecting onto an intermediate state would land on a UAF that pre-patch chaos merely made less reproducible.

Validation: * CONFIG_DEBUG_LIST coverage for the list_head reuse path. * KASAN-enabled direct SMB2 durable-handle coverage that exercised ksmbd_durable_scavenger() and non-NULL ksmbd_lookup_fd_inode() returns while durable handles expired under concurrent rename lookups, with no KASAN, UAF, list-corruption, ODEBUG, or WARNING reports. ---truncated---

CVSS v3
9.8
EG Score
9.8(medium)
EG Risk
49(Track)
EG Risk 49/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity98% × 45%
Exploitation1% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
1%
EPSS %ILE
42%
KEV
Not listed

Published

July 19, 2026

Last Modified

August 17, 2026

Advisory Details (5)

Auto-updated Aug 24, 2026
No patch confirmed yet.
generic

ksmbd: close durable scavenger races against m_fp_list lookups - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bf736184d063da1a552ffeff0481813599a182cc
generic

ksmbd: close durable scavenger races against m_fp_list lookups - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/95f072ef934ca00711d510676b8792cbf59a5aae
generic

ksmbd: close durable scavenger races against m_fp_list lookups - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/5da69a65b282d2276de22e5194ba0f88c836170c
generic

ksmbd: close durable scavenger races against m_fp_list lookups - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/3a436932eb397e909d0607d76a8325abd9d85a35
generic

ksmbd: close durable scavenger races against m_fp_list lookups - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1f8f3246d55f89350a1a67bdf3744b7241048e4e

Vendor Advisories for CVE-2026-64142(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(5)

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(2 across 2 ecosystems)
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.94-1~bpo12+1 (27 versions)6.12.94-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.0.9-1~bpo13+1 (138 versions)7.0.12-1

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(5)

Data Freshness Timeline

(refreshed 64× in last 7d / 390× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 467 total refreshes for this CVE.

  1. 2026-08-30 06:25 UTCVendor advisory
  2. 2026-08-30 06:25 UTCGHSA enrichment
  3. 2026-08-30 02:46 UTCEG score recompute
  4. 2026-08-30 02:46 UTCVendor advisory
  5. 2026-08-30 02:46 UTCGHSA enrichment
  6. 2026-08-30 01:22 UTCEPSS rescore
  7. 2026-08-28 21:42 UTCEPSS rescore
  8. 2026-08-28 01:41 UTCVendor advisory
  9. 2026-08-28 01:41 UTCGHSA enrichment
  10. 2026-08-27 21:21 UTCEG score recompute
  11. 2026-08-27 21:21 UTCVendor advisory
  12. 2026-08-27 21:21 UTCGHSA enrichment
  13. 2026-08-27 11:47 UTCVendor advisory
  14. 2026-08-27 11:47 UTCGHSA enrichment
  15. 2026-08-27 01:53 UTCVendor advisory
  16. 2026-08-27 01:53 UTCGHSA enrichment
  17. 2026-08-26 22:14 UTCEG score recompute
  18. 2026-08-26 22:14 UTCVendor advisory
  19. 2026-08-26 22:14 UTCGHSA enrichment
  20. 2026-08-26 14:46 UTCEPSS rescore
  21. 2026-08-26 11:41 UTCVendor advisory
  22. 2026-08-26 11:41 UTCGHSA enrichment
  23. 2026-08-26 07:23 UTCVendor advisory
  24. 2026-08-26 07:23 UTCGHSA enrichment
  25. 2026-08-26 02:23 UTCVendor advisory
Show 75 more
  1. 2026-08-26 02:23 UTCGHSA enrichment
  2. 2026-08-25 22:43 UTCVendor advisory
  3. 2026-08-25 22:43 UTCGHSA enrichment
  4. 2026-08-25 18:46 UTCEG score recompute
  5. 2026-08-25 18:46 UTCVendor advisory
  6. 2026-08-25 18:45 UTCGHSA enrichment
  7. 2026-08-25 13:49 UTCEPSS rescore
  8. 2026-08-25 13:28 UTCVendor advisory
  9. 2026-08-25 13:28 UTCGHSA enrichment
  10. 2026-08-25 09:45 UTCVendor advisory
  11. 2026-08-25 09:45 UTCGHSA enrichment
  12. 2026-08-25 06:05 UTCVendor advisory
  13. 2026-08-25 06:04 UTCGHSA enrichment
  14. 2026-08-25 02:23 UTCVendor advisory
  15. 2026-08-25 02:23 UTCGHSA enrichment
  16. 2026-08-24 22:44 UTCVendor advisory
  17. 2026-08-24 22:44 UTCGHSA enrichment
  18. 2026-08-24 19:02 UTCVendor advisory
  19. 2026-08-24 19:02 UTCGHSA enrichment
  20. 2026-08-24 15:06 UTCEG score recompute
  21. 2026-08-24 15:06 UTCVendor advisory
  22. 2026-08-24 15:06 UTCGHSA enrichment
  23. 2026-08-24 11:26 UTCEG score recompute
  24. 2026-08-24 11:26 UTCVendor advisory
  25. 2026-08-24 11:26 UTCGHSA enrichment
  26. 2026-08-24 07:45 UTCVendor advisory
  27. 2026-08-24 07:45 UTCGHSA enrichment
  28. 2026-08-24 03:43 UTCVendor advisory
  29. 2026-08-24 03:43 UTCGHSA enrichment
  30. 2026-08-23 23:36 UTCVendor advisory
  31. 2026-08-23 23:36 UTCGHSA enrichment
  32. 2026-08-23 19:57 UTCVendor advisory
  33. 2026-08-23 19:57 UTCGHSA enrichment
  34. 2026-08-23 16:18 UTCVendor advisory
  35. 2026-08-23 16:18 UTCGHSA enrichment
  36. 2026-08-23 12:34 UTCVendor advisory
  37. 2026-08-23 12:34 UTCGHSA enrichment
  38. 2026-08-23 08:55 UTCVendor advisory
  39. 2026-08-23 08:55 UTCGHSA enrichment
  40. 2026-08-23 05:15 UTCVendor advisory
  41. 2026-08-23 05:15 UTCGHSA enrichment
  42. 2026-08-23 01:35 UTCEG score recompute
  43. 2026-08-23 01:35 UTCVendor advisory
  44. 2026-08-23 01:35 UTCGHSA enrichment
  45. 2026-08-23 00:19 UTCEPSS rescore
  46. 2026-08-22 21:56 UTCVendor advisory
  47. 2026-08-22 21:56 UTCGHSA enrichment
  48. 2026-08-22 18:16 UTCVendor advisory
  49. 2026-08-22 18:16 UTCGHSA enrichment
  50. 2026-08-22 14:35 UTCVendor advisory
  51. 2026-08-22 14:35 UTCGHSA enrichment
  52. 2026-08-22 10:55 UTCVendor advisory
  53. 2026-08-22 10:55 UTCGHSA enrichment
  54. 2026-08-22 07:15 UTCVendor advisory
  55. 2026-08-22 07:15 UTCGHSA enrichment
  56. 2026-08-22 03:34 UTCVendor advisory
  57. 2026-08-22 03:34 UTCGHSA enrichment
  58. 2026-08-21 23:54 UTCEG score recompute
  59. 2026-08-21 23:54 UTCVendor advisory
  60. 2026-08-21 23:54 UTCGHSA enrichment
  61. 2026-08-21 23:49 UTCEPSS rescore
  62. 2026-08-21 20:15 UTCVendor advisory
  63. 2026-08-21 20:15 UTCGHSA enrichment
  64. 2026-08-21 16:35 UTCVendor advisory
  65. 2026-08-21 16:35 UTCGHSA enrichment
  66. 2026-08-21 12:41 UTCVendor advisory
  67. 2026-08-21 12:41 UTCGHSA enrichment
  68. 2026-08-21 08:59 UTCVendor advisory
  69. 2026-08-21 08:59 UTCGHSA enrichment
  70. 2026-08-21 05:13 UTCVendor advisory
  71. 2026-08-21 05:13 UTCGHSA enrichment
  72. 2026-08-21 01:33 UTCEG score recompute
  73. 2026-08-21 01:33 UTCVendor advisory
  74. 2026-08-21 01:33 UTCGHSA enrichment
  75. 2026-08-20 22:55 UTCEPSS rescore

Frequently asked(5)

What is CVE-2026-64142?
CVE-2026-64142 is a critical vulnerability published on July 19, 2026. In the Linux kernel, the following vulnerability has been resolved: ksmbd: close durable scavenger races against mfplist lookups ksmbddurablescavenger() has two related races against any walker that iterates fci->mfplist, including ksmbdlookupfdinode() (used by ksmbdvfsrename) and the share-mode…
When was CVE-2026-64142 disclosed?
CVE-2026-64142 was first published in the National Vulnerability Database on July 19, 2026, with the most recent update on August 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-64142 actively exploited?
CVE-2026-64142 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1% probability of exploitation in the next 30 days, which ranks it in the top 57.6% of all scored CVEs.
What is the CVSS score of CVE-2026-64142?
CVE-2026-64142 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-64142?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-64142, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-64142

Explore →

Is Your Infrastructure Affected by CVE-2026-64142?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.