CVE-2022-49441

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-03-17. 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

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

tty: fix deadlock caused by calling printk() under tty_port->lock

pty_write() invokes kmalloc() which may invoke a normal printk() to print failure message. This can cause a deadlock in the scenario reported by syz-bot below:

CPU0 CPU1 CPU2 ---- ---- ---- lock(console_owner); lock(&port_lock_key); lock(&port->lock); lock(&port_lock_key); lock(&port->lock); lock(console_owner);

As commit dbdda842fe96 ("printk: Add console owner and waiter logic to load balance console writes") said, such deadlock can be prevented by using printk_deferred() in kmalloc() (which is invoked in the section guarded by the port->lock). But there are too many printk() on the kmalloc() path, and kmalloc() can be called from anywhere, so changing printk() to printk_deferred() is too complicated and inelegant.

Therefore, this patch chooses to specify __GFP_NOWARN to kmalloc(), so that printk() will not be called, and this deadlock problem can be avoided.

Syzbot reported the following lockdep error:

====================================================== WARNING: possible circular locking dependency detected 5.4.143-00237-g08ccc19a-dirty #10 Not tainted ------------------------------------------------------ syz-executor.4/29420 is trying to acquire lock: ffffffff8aedb2a0 (console_owner){....}-{0:0}, at: console_trylock_spinning kernel/printk/printk.c:1752 [inline] ffffffff8aedb2a0 (console_owner){....}-{0:0}, at: vprintk_emit+0x2ca/0x470 kernel/printk/printk.c:2023

but task is already holding lock: ffff8880119c9158 (&port->lock){-.-.}-{2:2}, at: pty_write+0xf4/0x1f0 drivers/tty/pty.c:120

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #2 (&port->lock){-.-.}-{2:2}: __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x35/0x50 kernel/locking/spinlock.c:159 tty_port_tty_get drivers/tty/tty_port.c:288 [inline] <-- lock(&port->lock); tty_port_default_wakeup+0x1d/0xb0 drivers/tty/tty_port.c:47 serial8250_tx_chars+0x530/0xa80 drivers/tty/serial/8250/8250_port.c:1767 serial8250_handle_irq.part.0+0x31f/0x3d0 drivers/tty/serial/8250/8250_port.c:1854 serial8250_handle_irq drivers/tty/serial/8250/8250_port.c:1827 [inline] <-- lock(&port_lock_key); serial8250_default_handle_irq+0xb2/0x220 drivers/tty/serial/8250/8250_port.c:1870 serial8250_interrupt+0xfd/0x200 drivers/tty/serial/8250/8250_core.c:126 __handle_irq_event_percpu+0x109/0xa50 kernel/irq/handle.c:156 [...]

-> #1 (&port_lock_key){-.-.}-{2:2}: __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x35/0x50 kernel/locking/spinlock.c:159 serial8250_console_write+0x184/0xa40 drivers/tty/serial/8250/8250_port.c:3198 <-- lock(&port_lock_key); call_console_drivers kernel/printk/printk.c:1819 [inline] console_unlock+0x8cb/0xd00 kernel/printk/printk.c:2504 vprintk_emit+0x1b5/0x470 kernel/printk/printk.c:2024 <-- lock(console_owner); vprintk_func+0x8d/0x250 kernel/printk/printk_safe.c:394 printk+0xba/0xed kernel/printk/printk.c:2084 register_console+0x8b3/0xc10 kernel/printk/printk.c:2829 univ8250_console_init+0x3a/0x46 drivers/tty/serial/8250/8250_core.c:681 console_init+0x49d/0x6d3 kernel/printk/printk.c:2915 start_kernel+0x5e9/0x879 init/main.c:713 secondary_startup_64+0xa4/0xb0 arch/x86/kernel/head_64.S:241

-> #0 (console_owner){....}-{0:0}: [...] lock_acquire+0x127/0x340 kernel/locking/lockdep.c:4734 console_trylock_spinning kernel/printk/printk.c:1773 ---truncated---

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
25(Track)
EG Risk 25/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%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
13.9%
KEV
Not listed

Published

February 26, 2025

Last Modified

October 1, 2025

Weakness Classification(1)

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

Data Freshness Timeline

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

Frequently asked(5)

What is CVE-2022-49441?
CVE-2022-49441 is a medium vulnerability published on February 26, 2025. In the Linux kernel, the following vulnerability has been resolved: tty: fix deadlock caused by calling printk() under tty_port->lock pty_write() invokes kmalloc() which may invoke a normal printk() to print failure message. This can cause a deadlock in the scenario reported by syz-bot below: CPU0…
When was CVE-2022-49441 disclosed?
CVE-2022-49441 was first published in the National Vulnerability Database on February 26, 2025, with the most recent update on October 1, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2022-49441 actively exploited?
CVE-2022-49441 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 13.9% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2022-49441?
CVE-2022-49441 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2022-49441?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2022-49441, 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-49441

Explore →

Is Your Infrastructure Affected by CVE-2022-49441?

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