CVE-2026-31610

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2026-04-24. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
5.5EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 5.5Exploit: None knownExposed: 0

A fix is available — apply it.

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc

The kernel ASN.1 BER decoder calls action callbacks incrementally as it walks the input. When ksmbd_decode_negTokenInit() reaches the mechToken [2] OCTET STRING element, ksmbd_neg_token_alloc() allocates conn->mechToken immediately via kmemdup_nul(). If a later element in the same blob is malformed, then the decoder will return nonzero after the allocation is already live. This could happen if mechListMIC [3] overrunse the enclosing SEQUENCE.

decode_negotiation_token() then sets conn->use_spnego = false because both the negTokenInit and negTokenTarg grammars failed. The cleanup at the bottom of smb2_sess_setup() is gated on use_spnego:

if (conn->use_spnego && conn->mechToken) { kfree(conn->mechToken); conn->mechToken = NULL; }

so the kfree is skipped, causing the mechToken to never be freed.

This codepath is reachable pre-authentication, so untrusted clients can cause slow memory leaks on a server without even being properly authenticated.

Fix this up by not checking check for use_spnego, as it's not required, so the memory will always be properly freed. At the same time, always free the memory in ksmbd_conn_free() incase some other failure path forgot to free it.

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
29(Track)
EG Risk 29/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
Severity55% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
3%
KEV
Not listed

Published

April 24, 2026

Last Modified

July 24, 2026

Advisory Details (8)

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

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

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/745a535461bbb90a56d9357573c9f97a5c12abe1
generic

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/6c8c44e6553b9f072f62d9875e567766eb293162
generic

ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/269c800a7a7e363459291885b35f7bc72e231ed6

Vendor Advisories for CVE-2026-31610(2)

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

Patch Availability(17)

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

(4 across 4 ecosystems)
Debian:11(1)
PackageVulnerable rangeFixed inDependents
linux-6.16.1.106-3~deb11u1 ... 6.1.177-1~deb11u1 (22 versions)6.1.180-1~deb11u1
Debian:12(1)
PackageVulnerable rangeFixed inDependents
linux6.1.106-1 ... 6.1.99-1 (55 versions)6.1.180-1
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.85-1~bpo12+1 (17 versions)6.12.85-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 6.19~rc8-1~exp1 (129 versions)6.19.14-1

Weakness Classification(1)

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

Additional Vendor Advisories

(18)

Data Freshness Timeline

(refreshed 5× in last 7d / 32× 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 216 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-31610?
CVE-2026-31610 is a medium vulnerability published on April 24, 2026. In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix mechToken leak when SPNEGO decode fails after token alloc The kernel ASN.1 BER decoder calls action callbacks incrementally as it walks the input. When ksmbddecodenegTokenInit() reaches the mechToken [2] OCTET STRING…
When was CVE-2026-31610 disclosed?
CVE-2026-31610 was first published in the National Vulnerability Database on April 24, 2026, with the most recent update on July 24, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-31610 actively exploited?
CVE-2026-31610 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 96.6% of all scored CVEs.
What is the CVSS score of CVE-2026-31610?
CVE-2026-31610 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2026-31610?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-31610, 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-31610

Explore →

Is Your Infrastructure Affected by CVE-2026-31610?

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