CVE-2022-50149

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-06-18. NVD baseline CVSS 5.5; sources differ by 0.0.

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

A fix is available — apply it.

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

driver core: fix potential deadlock in __driver_attach

In __driver_attach function, There are also AA deadlock problem, like the commit b232b02bf3c2 ("driver core: fix deadlock in __device_attach").

stack like commit b232b02bf3c2 ("driver core: fix deadlock in __device_attach"). list below: In __driver_attach function, The lock holding logic is as follows: ... __driver_attach if (driver_allows_async_probing(drv)) device_lock(dev) // get lock dev async_schedule_dev(__driver_attach_async_helper, dev); // func async_schedule_node async_schedule_node_domain(func) entry = kzalloc(sizeof(struct async_entry), GFP_ATOMIC); /* when fail or work limit, sync to execute func, but __driver_attach_async_helper will get lock dev as will, which will lead to A-A deadlock. */ if (!entry || atomic_read(&entry_count) > MAX_WORK) { func; else queue_work_node(node, system_unbound_wq, &entry->work) device_unlock(dev)

As above show, when it is allowed to do async probes, because of out of memory or work limit, async work is not be allowed, to do sync execute instead. it will lead to A-A deadlock because of __driver_attach_async_helper getting lock dev.

Reproduce: and it can be reproduce by make the condition (if (!entry || atomic_read(&entry_count) > MAX_WORK)) untenable, like below:

[ 370.785650] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 370.787154] task:swapper/0 state:D stack: 0 pid: 1 ppid: 0 flags:0x00004000 [ 370.788865] Call Trace: [ 370.789374] [ 370.789841] __schedule+0x482/0x1050 [ 370.790613] schedule+0x92/0x1a0 [ 370.791290] schedule_preempt_disabled+0x2c/0x50 [ 370.792256] __mutex_lock.isra.0+0x757/0xec0 [ 370.793158] __mutex_lock_slowpath+0x1f/0x30 [ 370.794079] mutex_lock+0x50/0x60 [ 370.794795] __device_driver_lock+0x2f/0x70 [ 370.795677] ? driver_probe_device+0xd0/0xd0 [ 370.796576] __driver_attach_async_helper+0x1d/0xd0 [ 370.797318] ? driver_probe_device+0xd0/0xd0 [ 370.797957] async_schedule_node_domain+0xa5/0xc0 [ 370.798652] async_schedule_node+0x19/0x30 [ 370.799243] __driver_attach+0x246/0x290 [ 370.799828] ? driver_allows_async_probing+0xa0/0xa0 [ 370.800548] bus_for_each_dev+0x9d/0x130 [ 370.801132] driver_attach+0x22/0x30 [ 370.801666] bus_add_driver+0x290/0x340 [ 370.802246] driver_register+0x88/0x140 [ 370.802817] ? virtio_scsi_init+0x116/0x116 [ 370.803425] scsi_register_driver+0x1a/0x30 [ 370.804057] init_sd+0x184/0x226 [ 370.804533] do_one_initcall+0x71/0x3a0 [ 370.805107] kernel_init_freeable+0x39a/0x43a [ 370.805759] ? rest_init+0x150/0x150 [ 370.806283] kernel_init+0x26/0x230 [ 370.806799] ret_from_fork+0x1f/0x30

To fix the deadlock, move the async_schedule_dev outside device_lock, as we can see, in async_schedule_node_domain, the parameter of queue_work_node is system_unbound_wq, so it can accept concurrent operations. which will also not change the code logic, and will not lead to deadlock.

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

Published

June 18, 2025

Last Modified

November 17, 2025

Vendor Advisories for CVE-2022-50149(2)

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

Patch Availability(2)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:4.18.0-477.10.1.el8_82023-05-16redhat
redhatkernel-0:5.14.0-284.11.1.el9_22023-05-09redhat

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.

Data Freshness Timeline

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

Frequently asked(5)

What is CVE-2022-50149?
CVE-2022-50149 is a medium vulnerability published on June 18, 2025. In the Linux kernel, the following vulnerability has been resolved: driver core: fix potential deadlock in driver_attach In driver_attach function, There are also AA deadlock problem, like the commit b232b02bf3c2 ("driver core: fix deadlock in device_attach"). stack like commit b232b02bf3c2…
When was CVE-2022-50149 disclosed?
CVE-2022-50149 was first published in the National Vulnerability Database on June 18, 2025, with the most recent update on November 17, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2022-50149 actively exploited?
CVE-2022-50149 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 2.4% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2022-50149?
CVE-2022-50149 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2022-50149?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2022-50149, 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-2022-50149

Explore →

Is Your Infrastructure Affected by CVE-2022-50149?

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