CVE-2025-37814

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

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

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
Trending — 4 sources updated this week
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:

tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT

This requirement was overeagerly loosened in commit 2f83e38a095f ("tty: Permit some TIOCL_SETSEL modes without CAP_SYS_ADMIN"), but as it turns out,

(1) the logic I implemented there was inconsistent (apologies!),

(2) TIOCL_SELMOUSEREPORT might actually be a small security risk after all, and

(3) TIOCL_SELMOUSEREPORT is only meant to be used by the mouse daemon (GPM or Consolation), which runs as CAP_SYS_ADMIN already.

In more detail:

  • The previous patch has inconsistent logic:

In commit 2f83e38a095f ("tty: Permit some TIOCL_SETSEL modes without CAP_SYS_ADMIN"), we checked for sel_mode == TIOCL_SELMOUSEREPORT, but overlooked that the lower four bits of this "mode" parameter were actually used as an additional way to pass an argument. So the patch did actually still require CAP_SYS_ADMIN, if any of the mouse button bits are set, but did not require it if none of the mouse buttons bits are set.

This logic is inconsistent and was not intentional. We should have the same policies for using TIOCL_SELMOUSEREPORT independent of the value of the "hidden" mouse button argument.

I sent a separate documentation patch to the man page list with more details on TIOCL_SELMOUSEREPORT: https://lore.kernel.org/all/[email protected]/

  • TIOCL_SELMOUSEREPORT is indeed a potential security risk which can
let an attacker simulate "keyboard" input to command line applications on the same terminal, like TIOCSTI and some other TIOCLINUX "selection mode" IOCTLs.

By enabling mouse reporting on a terminal and then injecting mouse reports through TIOCL_SELMOUSEREPORT, an attacker can simulate mouse movements on the same terminal, similar to the TIOCSTI keystroke injection attacks that were previously possible with TIOCSTI and other TIOCL_SETSEL selection modes.

Many programs (including libreadline/bash) are then prone to misinterpret these mouse reports as normal keyboard input because they do not expect input in the X11 mouse protocol form. The attacker does not have complete control over the escape sequence, but they can at least control the values of two consecutive bytes in the binary mouse reporting escape sequence.

I went into more detail on that in the discussion at https://lore.kernel.org/all/[email protected]/

It is not equally trivial to simulate arbitrary keystrokes as it was with TIOCSTI (commit 83efeeeb3d04 ("tty: Allow TIOCSTI to be disabled")), but the general mechanism is there, and together with the small number of existing legit use cases (see below), it would be better to revert back to requiring CAP_SYS_ADMIN for TIOCL_SELMOUSEREPORT, as it was already the case before commit 2f83e38a095f ("tty: Permit some TIOCL_SETSEL modes without CAP_SYS_ADMIN").

  • TIOCL_SELMOUSEREPORT is only used by the mouse daemons (GPM or
Consolation), and they are the only legit use case:

To quote console_codes(4):

The mouse tracking facility is intended to return xterm(1)-compatible mouse status reports. Because the console driver has no way to know the device or type of the mouse, these reports are returned in the console input stream only when the virtual terminal driver receives a mouse update ioctl. These ioctls must be generated by a mouse-aware user-mode application such as the gpm(8) daemon.

Jared Finder has also confirmed in https://lore.kernel.org/all/[email protected]/ that Emacs does not call TIOCL_SELMOUSEREPORT directly, and it would be difficult to find good reasons for doing that, given that it would interfere with the reports that GPM is sending.

More information on the interaction between GPM, terminals and th ---truncated---

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

Published

May 8, 2025

Last Modified

August 5, 2026

Advisory Details (3)

Auto-updated Aug 2, 2026
No patch confirmed yet.
generic

tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT - kernel/git/stable/linux.git - Linux kernel stable tree

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

tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/9b50c9c97db953de756a39af83d4be4d7f618aa6
generic

tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/6f021bc0083b96125fdbed6a60d7b4396c4d6dac

Patch Availability(4)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-virtual-hwe-24.04-edge (6.14.0-22.22) @ plucky2026-05-30ubuntu
ubuntulinux-tools-azure (6.14.0-1007.7) @ plucky2026-05-30ubuntu
ubuntulinux-tools-oracle-64k (6.14.0-1007.7) @ plucky2026-05-30ubuntu
linuxKernel @ 6.12.26osv

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.

All Vendor Advisories

(3)

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 9× in last 7d / 43× 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 109 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2025-37814?
CVE-2025-37814 is a medium vulnerability published on May 8, 2025. In the Linux kernel, the following vulnerability has been resolved: tty: Require CAPSYSADMIN for all usages of TIOCL_SELMOUSEREPORT This requirement was overeagerly loosened in commit 2f83e38a095f ("tty: Permit some TIOCLSETSEL modes without CAPSYS_ADMIN"), but as it turns out, (1) the logic I…
When was CVE-2025-37814 disclosed?
CVE-2025-37814 was first published in the National Vulnerability Database on May 8, 2025, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-37814 actively exploited?
CVE-2025-37814 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 90.9% of all scored CVEs.
What is the CVSS score of CVE-2025-37814?
CVE-2025-37814 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2025-37814?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-37814, 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-37814

Explore →

Is Your Infrastructure Affected by CVE-2025-37814?

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