Skip to main content

Linux Kernel CVE-2026-93165

| EUVDEUVD-2026-82273 HIGH
2026-09-17 Linux GHSA-4wfm-wp45-cw6m
7.7
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control/malfunction EC firmware responses
  2. Delivery
    EC reports inconsistent max_response vs sensor_num
  3. Exploit
    insize clamped in cros_ec_cmd_xfer
  4. Execution
    ring handler memcpy over-reads fifo_info buffer
  5. Impact
    kernel memory leak or crash (DoS)

Vulnerability Assessment

Exploitation Conditions

Requires a ChromeOS Embedded Controller (cros_ec) whose firmware returns inconsistent values - specifically a max_response_packet_size that causes msg->insize (fifo_info_length = sizeof(ec_response_motion_sense_fifo_info) + sizeof(u16) * sensor_num) to be clamped in cros_ec_cmd_xfer(), so fewer bytes are returned than the ring handler expects. This is only reachable on systems using the cros_ec_sensorhub driver (Chromebooks / ChromeOS devices with EC-attached motion sensors). LIMITING FACTORS: the trigger is a malfunctioning or tampered EC firmware rather than a userspace-controllable input, so practical exploitation presupposes firmware-level control or a genuinely defective EC; the affected code path must be built and the sensorhub FIFO in use.

Impact

The vendor CVSS of 7.7 (AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H) overstates real-world risk. This is a kernel driver-hardening fix: cros_ec_sensorhub_ring_handler() memcpy's from resp->fifo_info using an expected length, but when EC firmware misbehaves, cros_ec_cmd_xfer() clamps msg->insize (because it exceeds max_response), so fewer bytes are read than the handler assumes - causing an over-read of the fifo_info buffer. The precondition is a MALFUNCTIONING (or maliciously reflashed) EC firmware that returns an inconsistent max_response vs. sensor_num - not an ordinary local/remote attacker input path. That makes PR:N and AC:L unrealistic: controlling EC firmware responses is a firmware/physical-level capability, not unauthenticated userspace access. The impact is an over-read (bounded information disclosure and/or crash), not the arbitrary code-worthy C:H the vendor assigns. No EPSS, KEV, or POC data is present. Net: a genuine but low-priority hardening fix, not a widely exploitable vulnerability. NOTE: CVSS marks AV:L/PR:N yet the actual trigger requires control over EC firmware behavior - verify the intended threat model with the vendor.

Exploit ScenarioDerived

On a Chromebook or ChromeOS-based device with a malfunctioning or tampered embedded controller (EC), the EC returns a max_response smaller than the fifo_info length implied by its reported sensor count. When the sensorhub ring handler processes a FIFO info response, the driver memcpy's more bytes than were actually read, over-reading adjacent kernel memory and leaking data into the sensor ring or crashing the kernel. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Memory overread in the Linux kernel's platform/chrome cros_ec sensorhub ring handler can copy past the end of a host-command response buffer, disclosing adjacent kernel memory and, if the bad copy faults, panicking the kernel. It affects the cros_ec_sensorhub driver used by ChromeOS devices with EC-attached motion sensors, and is only reachable when the Embedded Controller firmware reports a max_response_packet_size small enough that cros_ec_cmd_xfer() clamps the FIFO-info response below the length the ring handler computes from the sensor count. Upstream fixes are published for numerous stable branches (5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52, 7.2.6 and mainline 7.3-rc1); there is no public exploit identified at time of analysis and the CVE is not in CISA KEV. The vendor-issued CVSS of 7.7 (AV:L/AC:L/PR:N/UI:N/C:H/I:N/A:H) is judged to overstate real-world risk - the independent assessment rates it AV:L/AC:H/PR:H/UI:N/C:L/I:N/A:H, requiring high privilege level and a malfunctioning or tampered EC rather than a userspace-controllable input.

RemediationAI

Vendor-released patches exist: upgrade to a fixed stable kernel - 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.52 or 7.2.6 - or to mainline 7.3-rc1, applying the relevant upstream commit (for example 98604cc8fd2578442f49cd113481e8fc83bc0ad3 or its per-branch equivalents, all linked from https://nvd.nist.gov/vuln/detail/CVE-2026-93165); note that the real upstream change (commit 145d59baff5944b71551ac518d7fd7d377a9c820) adds a length check after cros_ec_cmd_xfer_status(), so backporting anything less than that validation does not close the hole. On ChromeOS and Chromebook hardware the kernel is delivered by the platform vendor, so track the vendor's OS/kernel update channel rather than building a custom kernel. If immediate upgrading is impossible, the exposure is limited because the trigger requires an EC that violates its own protocol replies: keep EC firmware at a genuine, vendor-signed release and treat any ability to flash or spoof EC firmware as equivalent to kernel compromise, and restrict local/privileged access to the device since the independent assessment requires high privileges and local access (PR:H/AV:L) - this reduces the set of actors who can induce the state but does not eliminate the overread if a defective EC is present. Disabling or blacklisting the sensorhub driver (for example via a module blacklist or building the kernel without the cros_ec sensorhub path) removes the vulnerable code path entirely, with the trade-off that motion, accelerometer and other EC-attached sensor functionality is lost and some userspace sensor stacks will fail gracefully or degrade; this is only viable on hardware that does not depend on those sensors. Renaming to a patched kernel is preferable to any of these compensating controls, which do not provide a complete fix.

Affected VersionsENISA

Linux 5.7
Linux patch: 7.3-rc1
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <d1ceb2b2324717fa30b44d56ef0c52813e239569
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <7e901aaf95828364b05a2120a1bea1a1669bdc9a
Linux patch: 5.10.270
Linux patch: 5.15.221
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <6268f46d83875d294d75b68b97a5b79953744598
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <ee0403520cdbcf87e853df9aaa9b518a0684ed38
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <7780d93ae28f31fe517417c9451255315d1ad584
Linux patch: 6.1.188
Linux patch: 6.6.157
Linux patch: 6.18.52
Linux patch: 6.12.110
Linux patch: 0
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <847a5ba0ac75f609e3f88da905251f7a76179145
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <86bcfab7dff6f0a61cbe0660e5176e907353141b
Linux patch: 7.2.6
Linux 145d59baff5944b71551ac518d7fd7d377a9c820 <98604cc8fd2578442f49cd113481e8fc83bc0ad3

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected code lives in the Linux kernel's ChromeOS Embedded Controller (cros_ec) subsystem, specifically the sensorhub ring handler in drivers/platform/chrome. The cros_ec driver communicates with the EC over a host-command transport (LPC/SPI/I2C depending on SoC); cros_ec_get_proto_info() populates ec_dev->max_response as info->max_response_packet_size minus sizeof(struct ec_host_response), while cros_ec_get_sensor_count() independently supplies sensor_num. The ring handler builds its expected response length as sizeof(struct ec_response_motion_sense_fifo_info) + sizeof(u16) * sensorhub->sensor_num and issues it via cros_ec_cmd_xfer_status(). Because the two values come from different EC commands, a misbehaving EC can make the requested insize exceed max_response, causing cros_ec_cmd_xfer() to clamp the transfer so fewer bytes are returned than the handler's arithmetic assumes; the subsequent memcpy() of resp->fifo_info then reads beyond the populated buffer. The invariant that is broken is one of cross-command consistency rather than a classic bounds check - the fix adds a validation of the cros_ec_cmd_xfer_status() return value and aborts when the byte count differs from the expected length. The source data assigns no CWE identifier, but the defect corresponds to the out-of-bounds read class (CWE-125) with an availability side effect (possible crash), which matches the C:H/I:N/A:H vendor vector and the more conservative C:L/I:N/A:H independent scoring.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.7 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
vuln.today AI 4.7 MEDIUM

Trigger requires control over EC firmware responses (PR:H, AC:H), giving a bounded kernel over-read: partial info leak (C:L) and crash (A:H), no integrity impact.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:H
4.0 AV:L/AC:H/AT:N/PR:H/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 3.3 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 18, 2026 - 18:22 NVD
7.7 (HIGH)
Patch available
Sep 17, 2026 - 17:19 EUVD
CVE Published
Sep 17, 2026 - 16:11 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 17, 2026 - 16:11 cve.org
HIGH 7.7

DescriptionCVE.org

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

platform/chrome: sensorhub: Fix memory overread in ring handler

max_response and sensor_num are read from different EC commands:

  • max_response is from cros_ec_get_proto_info().

ec_dev->max_response = info->max_response_packet_size - sizeof(struct ec_host_response);

  • sensor_num is from cros_ec_get_sensor_count().

sensor_num = cros_ec_get_sensor_count(ec);

With a malfunctioning EC firmware, it is possible that the msg->insize (i.e., fifo_info_length in the context) could be clamped in cros_ec_cmd_xfer() because msg->insize is greater than max_response.

int fifo_info_length = sizeof(struct ec_response_motion_sense_fifo_info) + sizeof(u16) * sensorhub->sensor_num;

This means the number of read bytes could be less than expected. As a result, the subsequent memcpy() in cros_ec_sensorhub_ring_handler() overreads the resp->fifo_info buffer.

Check the return value of cros_ec_cmd_xfer_status() and abort if the number of bytes read does not match the expected length.

Executive ViewAI

Why It Matters

A memory-handling flaw in the Linux kernel driver that supports motion sensors on Embedded-Controller-equipped ChromeOS hardware allows a locally positioned attacker to read fragments of adjacent kernel memory and, in some cases, crash the device. Impact is confined to ChromeOS laptops, tablets, and convertibles in the fleet rather than servers or cloud infrastructure, but a successful trigger causes an abrupt reboot that disrupts the user and can expose small amounts of sensitive kernel-resident data. Because reaching the flaw requires local presence on the device and a specific Embedded Controller firmware configuration, leadership should treat this as a fleet-maintenance obligation driven by our standard ChromeOS update cadence rather than an emergency incident.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
ChromeOS cros_ec sensorhub driver, specific to Chromebook/embedded-controller hardware
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy