LiveActive security incident?Get immediate response
CVE Record

CVE-2025-37814: tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT

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: 1. 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/20250223091342.35523-2-gnoack3000@gmail.com/ 2. 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/20250221.0a947528d8f3@gnoack.org/ 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"). 3. 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/491f3df9de6593df8e70dbe77614b026@finder.org/ 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---

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A local, low-privileged Linux user may abuse a console mouse-reporting interface to inject input into applications on the same terminal. This could cause commands or data to be interpreted unexpectedly. The attack is less controllable than traditional keystroke injection, but the supplied CVSS 3.1 score is 7.8 (High).

Executive priority

Treat as a high-priority kernel update for multi-user Linux systems, shared consoles, and environments granting untrusted local access. Lower the immediate priority for isolated systems without such access, but still apply the normal vendor security update after confirming applicability.

Technical view

TIOCL_SELMOUSEREPORT could be invoked without CAP_SYS_ADMIN in some parameter combinations because mouse-button bits were handled inconsistently. An attacker sharing the terminal context could inject X11-style mouse reports that applications such as libreadline or Bash may misinterpret as keyboard input. Stable-kernel fixes restore the capability requirement.

Likely exposure

Exposure is limited to Linux systems containing the vulnerable TTY behavior and permitting an untrusted local user to interact with the relevant terminal. Network-only attackers are not indicated. Exact affected build mapping is unclear from the supplied version data, so distribution-specific verification is necessary.

Exploitation context

The supplied CVSS vector requires local access, low privileges, low complexity, and no user interaction. The attacker cannot freely inject arbitrary keystrokes, but can control portions of mouse-report escape sequences. The record is not in KEV, and the supplied sources provide no evidence of active exploitation.

Researcher notes

The vulnerable behavior arose from inconsistent checking of TIOCL_SELMOUSEREPORT's mode and embedded button bits. The correction restores CAP_SYS_ADMIN enforcement for every use. The supplied affected-version representation is ambiguous and should not replace branch-specific commit ancestry or distribution package analysis.

Mitigation direction

  • Install a vendor kernel update containing the applicable upstream stable fix for your kernel branch.
  • Consult the Linux distribution's advisory to confirm the corrected package and required reboot.
  • Until updated, reduce untrusted local access to affected console and shared-terminal environments.
  • Prioritize multi-user systems where less-trusted accounts can interact with terminal sessions.

Validation and detection

  • Inventory running kernel builds on systems offering local or shared terminal access.
  • Compare each build with distribution advisories and the applicable upstream stable fix commit.
  • After updating and rebooting, confirm the running kernel is the corrected vendor build.
  • Verify unprivileged use of TIOCL_SELMOUSEREPORT is rejected without CAP_SYS_ADMIN.
  • Review whether untrusted accounts can access terminals used by more-privileged applications or operators.
Prepared
Confidence
medium
Sources
5

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-37814 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
0ADP providers
4Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2025-37814Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxe46d91ca504d69ae3d09c120b162a238b8013890, 2f83e38a095f8bf7c6029883d894668b03b9bd93, 2f83e38a095f8bf7c6029883d894668b03b9bd93, 2714ffdbb79b48dda03334a01af90fb024f39047, 6.12.14, 6.13.3unaffected
LinuxLinux6.14, 0, 6.12.26, 6.14.5, 6.15affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.