CVE-2025-37772

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-05-01. 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:

RDMA/cma: Fix workqueue crash in cma_netevent_work_handler

struct rdma_cm_id has member "struct work_struct net_work" that is reused for enqueuing cma_netevent_work_handler()s onto cma_wq.

Below crash[1] can occur if more than one call to cma_netevent_callback() occurs in quick succession, which further enqueues cma_netevent_work_handler()s for the same rdma_cm_id, overwriting any previously queued work-item(s) that was just scheduled to run i.e. there is no guarantee the queued work item may run between two successive calls to cma_netevent_callback() and the 2nd INIT_WORK would overwrite the 1st work item (for the same rdma_cm_id), despite grabbing id_table_lock during enqueue.

Also drgn analysis [2] indicates the work item was likely overwritten.

Fix this by moving the INIT_WORK() to __rdma_create_id(), so that it doesn't race with any existing queue_work() or its worker thread.

[1] Trimmed crash stack: ============================================= BUG: kernel NULL pointer dereference, address: 0000000000000008 kworker/u256:6 ... 6.12.0-0... Workqueue: cma_netevent_work_handler [rdma_cm] (rdma_cm) RIP: 0010:process_one_work+0xba/0x31a Call Trace: worker_thread+0x266/0x3a0 kthread+0xcf/0x100 ret_from_fork+0x31/0x50 ret_from_fork_asm+0x1a/0x30 =============================================

[2] drgn crash analysis:

>>> trace = prog.crashed_thread().stack_trace() >>> trace (0) crash_setup_regs (./arch/x86/include/asm/kexec.h:111:15) (1) __crash_kexec (kernel/crash_core.c:122:4) (2) panic (kernel/panic.c:399:3) (3) oops_end (arch/x86/kernel/dumpstack.c:382:3) ... (8) process_one_work (kernel/workqueue.c:3168:2) (9) process_scheduled_works (kernel/workqueue.c:3310:3) (10) worker_thread (kernel/workqueue.c:3391:4) (11) kthread (kernel/kthread.c:389:9)

Line workqueue.c:3168 for this kernel version is in process_one_work(): 3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN);

>>> trace[8]["work"] *(struct work_struct *)0xffff92577d0a21d8 = { .data = (atomic_long_t){ .counter = (s64)536870912, <=== Note }, .entry = (struct list_head){ .next = (struct list_head *)0xffff924d075924c0, .prev = (struct list_head *)0xffff924d075924c0, }, .func = (work_func_t)cma_netevent_work_handler+0x0 = 0xffffffffc2cec280, }

Suspicion is that pwq is NULL: >>> trace[8]["pwq"] (struct pool_workqueue *)

In process_one_work(), pwq is assigned from: struct pool_workqueue *pwq = get_work_pwq(work);

and get_work_pwq() is: static struct pool_workqueue *get_work_pwq(struct work_struct *work) { unsigned long data = atomic_long_read(&work->data);

if (data & WORK_STRUCT_PWQ) return work_struct_pwq(data); else return NULL; }

WORK_STRUCT_PWQ is 0x4: >>> print(repr(prog['WORK_STRUCT_PWQ'])) Object(prog, 'enum work_flags', value=4)

But work->data is 536870912 which is 0x20000000. So, get_work_pwq() returns NULL and we crash in process_one_work(): 3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN); =============================================

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

Published

May 1, 2025

Last Modified

November 5, 2025

Vendor Advisories for CVE-2025-37772(1)

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

Patch Availability(20)

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.

Additional Vendor Advisories

(19)

Data Freshness Timeline

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

Frequently asked(5)

What is CVE-2025-37772?
CVE-2025-37772 is a medium vulnerability published on May 1, 2025. In the Linux kernel, the following vulnerability has been resolved: RDMA/cma: Fix workqueue crash in cmaneteventwork_handler struct rdmacmid has member "struct workstruct network" that is reused for enqueuing cmaneteventwork_handler()s onto cma_wq. Below crash[1] can occur if more than one call to…
When was CVE-2025-37772 disclosed?
CVE-2025-37772 was first published in the National Vulnerability Database on May 1, 2025, with the most recent update on November 5, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-37772 actively exploited?
CVE-2025-37772 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 92.6% of all scored CVEs.
What is the CVSS score of CVE-2025-37772?
CVE-2025-37772 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2025-37772?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-37772, 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-2025-37772

Explore →

Is Your Infrastructure Affected by CVE-2025-37772?

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