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
44%
KEV
Not listed

Published

July 19, 2026

Last Modified

August 17, 2026

Advisory Details (5)

Auto-updated Sep 14, 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(6)

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 (141 versions)7.0.12-1

Weakness Classification(1)

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

All Vendor Advisories

(6)

Data Freshness Timeline

(refreshed 29× in last 7d / 183× 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 560 total refreshes for this CVE.

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