Skip to main content

Linux Kernel CVE-2026-64135

| EUVDEUVD-2026-45820 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-07-19 Linux GHSA-7g8h-gvx7-vxjc
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local low-privilege access required to invoke nvmem interface; only kernel availability impacted via crash; no confidentiality or integrity consequence.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

5
Analysis Generated
Aug 13, 2026 - 15:31 vuln.today
CVSS changed
Aug 13, 2026 - 15:22 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:40 nvd
MEDIUM 5.5
CVE Published
Jul 19, 2026 - 15:40 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

hwmon: (pmbus/adm1266) widen blackbox-info buffer to I2C_SMBUS_BLOCK_MAX

adm1266_nvmem_read_blackbox() declares a 5-byte stack buffer and passes it to i2c_smbus_read_block_data() to retrieve the 4-byte BLACKBOX_INFO response. i2c_smbus_read_block_data() does not honour caller buffer sizes -- it memcpy()s data.block[0] bytes from the SMBus transaction (where data.block[0] is the length byte returned by the slave device, up to I2C_SMBUS_BLOCK_MAX = 32):

memcpy(values, &data.block[1], data.block[0]);

If the device returns any block length above 5, the call overflows the caller's 5-byte stack buffer before the post-call

if (ret != 4) return -EIO;

check has a chance to reject the response.

Widen the local buffer to I2C_SMBUS_BLOCK_MAX so the helper has room for any well-formed SMBus block response, matching the convention used by the other i2c_smbus_read_block_data() callers in this driver.

AnalysisAI

Stack buffer overflow in the Linux kernel adm1266 PMBus hardware monitor driver allows a local low-privileged user to crash the kernel on systems equipped with an Analog Devices ADM1266 power sequencer chip. The vulnerable function allocates a 5-byte stack buffer but passes it to i2c_smbus_read_block_data(), which performs an unchecked memcpy of up to 32 bytes (I2C_SMBUS_BLOCK_MAX) before any length validation - overflowing the stack and causing a denial of service. No public exploit code exists and EPSS at 0.18% (7th percentile) confirms limited exploitation interest; patched versions are available across all active stable kernel branches.

Technical ContextAI

The ADM1266 is an Analog Devices PMBus power sequencer and supervisor IC deployed in server and embedded hardware, communicating over the I2C/SMBus protocol. In the Linux kernel hwmon pmbus subsystem, adm1266_nvmem_read_blackbox() reads BLACKBOX_INFO data by calling i2c_smbus_read_block_data() with a caller-allocated 5-byte stack buffer. The helper internally uses a union i2c_smbus_data staging buffer, then executes memcpy(values, &data.block[1], data.block[0]) where data.block[0] is the device-reported length byte - up to I2C_SMBUS_BLOCK_MAX = 32 - with no regard for the caller's buffer capacity. The post-call check (if ret != 4 return -EIO) executes after the memcpy has already overwritten up to 27 bytes past the end of the 5-byte stack buffer. The NVD-assigned CWE-674 (Uncontrolled Recursion) appears to be a tagging error; the actual root cause class is CWE-121 (Stack-based Buffer Overflow) or CWE-787 (Out-of-bounds Write). The fix widens the stack buffer to I2C_SMBUS_BLOCK_MAX, consistent with other i2c_smbus_read_block_data callers in the same driver.

RemediationAI

Upgrade to a patched Linux kernel version: 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11, or any 7.1+ mainline release. Upstream fix commits are available at git.kernel.org/stable/c/ across all affected stable trees (see references). Ubuntu users should apply the update described in USN-8575-1 at https://ubuntu.com/security/notices/USN-8575-1. For systems that cannot be immediately patched, blacklisting the adm1266 kernel module provides an effective compensating control: add 'blacklist adm1266' to /etc/modprobe.d/ and reboot, or execute 'modprobe -r adm1266' on running systems. This disables all hardware monitoring functionality for any ADM1266 devices present - an acceptable trade-off on systems where power sequencer telemetry is not operationally critical. On systems without ADM1266 hardware, the module is typically not loaded and no action is required.

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

Share

CVE-2026-64135 vulnerability details – vuln.today

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