CVE-2026-46025

MEDIUMNVD 4.74.7
EchelonGraph scoreMEDIUM confidence

Score 4.7 from GitHub Security Advisory published 2026-05-27. NVD baseline CVSS 4.7; sources differ by 0.0.

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

A fix is available — apply it.

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

mm/damon/core: fix damon_call() vs kdamond_fn() exit race

Patch series "mm/damon/core: fix damon_call()/damos_walk() vs kdmond exit race".

damon_call() and damos_walk() can leak memory and/or deadlock when they race with kdamond terminations. Fix those.

This patch (of 2);

When kdamond_fn() main loop is finished, the function cancels all remaining damon_call() requests and unset the damon_ctx->kdamond so that API callers and API functions themselves can know the context is terminated. damon_call() adds the caller's request to the queue first. After that, it shows if the kdamond of the damon_ctx is still running (damon_ctx->kdamond is set). Only if the kdamond is running, damon_call() starts waiting for the kdamond's handling of the newly added request.

The damon_call() requests registration and damon_ctx->kdamond unset are protected by different mutexes, though. Hence, damon_call() could race with damon_ctx->kdamond unset, and result in deadlocks.

For example, let's suppose kdamond successfully finished the damon_call() requests cancelling. Right after that, damon_call() is called for the context. It registers the new request, and shows the context is still running, because damon_ctx->kdamond unset is not yet done. Hence the damon_call() caller starts waiting for the handling of the request. However, the kdamond is already on the termination steps, so it never handles the new request. As a result, the damon_call() caller threads infinitely waits.

Fix this by introducing another damon_ctx field, namely call_controls_obsolete. It is protected by the damon_ctx->call_controls_lock, which protects damon_call() requests registration. Initialize (unset) it in kdamond_fn() before letting damon_start() returns and set it just before the cancelling of remaining damon_call() requests is executed. damon_call() reads the obsolete field under the lock and avoids adding a new request.

After this change, only requests that are guaranteed to be handled or cancelled are registered. Hence the after-registration DAMON context termination check is no longer needed. Remove it together.

Note that the deadlock will not happen when damon_call() is called for repeat mode request. In tis case, damon_call() returns instead of waiting for the handling when the request registration succeeds and it shows the kdamond is running. However, if the request also has dealloc_on_cancel, the request memory would be leaked.

The issue is found by sashiko [1].

CVSS v3
4.7
EG Score
4.7(medium)
EG Risk
26(Track)
EG Risk 26/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
Severity47% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
0.5%
KEV
Not listed

Published

May 27, 2026

Last Modified

June 16, 2026

Advisory Details (3)

Auto-updated Jun 25, 2026
No patch confirmed yet.
generic

mm/damon/core: fix damon_call() vs kdamond_fn() exit race - kernel/git/stable/linux.git - Linux kernel stable tree

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

mm/damon/core: fix damon_call() vs kdamond_fn() exit race - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/55da81663b9642dd046b26dd6f1baddbcf337c1e
generic

mm/damon/core: fix damon_call() vs kdamond_fn() exit race - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/2691332ad88b57179c38653e2cd613d5820a52cf

Vendor Advisories for CVE-2026-46025(1)

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

Patch Availability(4)

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.

Weakness Classification(1)

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

All Vendor Advisories

(4)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 6× in last 7d / 29× 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.

  1. 2026-07-24 14:17 UTCEPSS rescore
  2. 2026-07-23 14:18 UTCEPSS rescore
  3. 2026-07-23 03:16 UTCEG score recompute
  4. 2026-07-22 14:08 UTCEPSS rescore
  5. 2026-07-21 15:24 UTCEPSS rescore
  6. 2026-07-20 17:08 UTCEPSS rescore
  7. 2026-07-16 17:03 UTCEPSS rescore
  8. 2026-07-15 16:57 UTCEPSS rescore
  9. 2026-07-13 22:30 UTCEPSS rescore
  10. 2026-07-12 05:46 UTCEPSS rescore
  11. 2026-07-11 23:50 UTCVendor advisory
  12. 2026-07-11 23:49 UTCGHSA enrichment
  13. 2026-07-11 08:27 UTCEPSS rescore
  14. 2026-07-09 19:10 UTCEPSS rescore
  15. 2026-07-08 23:59 UTCVendor advisory
  16. 2026-07-08 23:58 UTCGHSA enrichment
  17. 2026-07-08 15:16 UTCEPSS rescore
  18. 2026-07-07 13:46 UTCEPSS rescore
  19. 2026-07-06 16:27 UTCEPSS rescore
  20. 2026-07-06 02:23 UTCEPSS rescore
  21. 2026-07-05 02:30 UTCEPSS rescore
  22. 2026-07-01 10:27 UTCGHSA enrichment
  23. 2026-06-29 14:22 UTCGHSA enrichment
  24. 2026-06-28 14:07 UTCEPSS rescore
  25. 2026-06-28 05:00 UTCGHSA enrichment
Show 54 more
  1. 2026-06-28 04:56 UTCEPSS rescore
  2. 2026-06-28 04:56 UTCEPSS rescore
  3. 2026-06-27 05:59 UTCGHSA enrichment
  4. 2026-06-26 02:33 UTCGHSA enrichment
  5. 2026-06-25 01:17 UTCEG score recompute 4.70
  6. 2026-06-25 01:17 UTCGHSA enrichment
  7. 2026-06-24 14:05 UTCEPSS rescore
  8. 2026-06-23 21:33 UTCEPSS rescore
  9. 2026-06-23 21:33 UTCEPSS rescore
  10. 2026-06-21 01:59 UTCEPSS rescore
  11. 2026-06-21 01:59 UTCEPSS rescore
  12. 2026-06-18 17:52 UTCEPSS rescore
  13. 2026-06-18 17:52 UTCEPSS rescore
  14. 2026-06-17 17:53 UTCEPSS rescore
  15. 2026-06-16 17:52 UTCEPSS rescore
  16. 2026-06-16 16:16 UTCNVD updateCVSS v3 → 4.7 · severity → MEDIUM
  17. 2026-06-15 22:19 UTCGHSA enrichment
  18. 2026-06-15 17:49 UTCEPSS rescore
  19. 2026-06-14 23:28 UTCMITRE cvelistV5
  20. 2026-06-13 23:00 UTCEPSS rescore
  21. 2026-06-12 23:12 UTCEPSS rescore
  22. 2026-06-12 23:12 UTCEPSS rescore
  23. 2026-06-12 22:23 UTCGHSA enrichment
  24. 2026-06-11 14:00 UTCEPSS rescore
  25. 2026-06-10 22:18 UTCEPSS rescore
  26. 2026-06-10 13:22 UTCEPSS rescore
  27. 2026-06-10 13:22 UTCEPSS rescore
  28. 2026-06-09 23:11 UTCGHSA enrichment
  29. 2026-06-08 14:17 UTCEPSS rescore
  30. 2026-06-08 14:17 UTCEPSS rescore
  31. 2026-06-07 15:25 UTCEPSS rescore
  32. 2026-06-07 15:25 UTCEPSS rescore
  33. 2026-06-06 23:59 UTCGHSA enrichment
  34. 2026-06-06 13:47 UTCEPSS rescore
  35. 2026-06-06 13:47 UTCEPSS rescore
  36. 2026-06-05 22:47 UTCEPSS rescore
  37. 2026-06-05 06:10 UTCEPSS rescore
  38. 2026-06-05 06:10 UTCEPSS rescore
  39. 2026-06-04 13:12 UTCEPSS rescore
  40. 2026-06-04 13:12 UTCEPSS rescore
  41. 2026-06-04 00:47 UTCGHSA enrichment
  42. 2026-06-02 20:13 UTCEPSS rescore
  43. 2026-06-01 13:52 UTCEPSS rescore
  44. 2026-06-01 13:52 UTCEPSS rescore
  45. 2026-06-01 01:35 UTCGHSA enrichment
  46. 2026-05-31 22:30 UTCEPSS rescore
  47. 2026-05-31 22:30 UTCEPSS rescore
  48. 2026-05-31 00:16 UTCEPSS rescore
  49. 2026-05-31 00:16 UTCEPSS rescore
  50. 2026-05-29 13:44 UTCEPSS rescore
  51. 2026-05-29 13:44 UTCEPSS rescore
  52. 2026-05-28 13:44 UTCEPSS rescore
  53. 2026-05-28 13:44 UTCEPSS rescore
  54. 2026-05-27 14:11 UTCEG score recompute

Frequently asked(5)

What is CVE-2026-46025?
CVE-2026-46025 is a medium vulnerability published on May 27, 2026. In the Linux kernel, the following vulnerability has been resolved: mm/damon/core: fix damoncall() vs kdamondfn() exit race Patch series "mm/damon/core: fix damoncall()/damoswalk() vs kdmond exit race". damoncall() and damoswalk() can leak memory and/or deadlock when they race with kdamond…
When was CVE-2026-46025 disclosed?
CVE-2026-46025 was first published in the National Vulnerability Database on May 27, 2026, with the most recent update on June 16, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-46025 actively exploited?
CVE-2026-46025 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.5% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-46025?
CVE-2026-46025 has a CVSS v3 base score of 4.7 (NVD).
How do I remediate CVE-2026-46025?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-46025, 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

Explore the affected products and dependency analysis for CVE-2026-46025

Explore →

Is Your Infrastructure Affected by CVE-2026-46025?

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