Skip to main content

Linux Kernel CVE-2026-64083

| EUVDEUVD-2026-45656 MEDIUM
2026-07-19 Linux GHSA-9794-j36c-v322
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
2.5 LOW

Requires both a hardware fault or hostile I2C device to elicit a short response (AC:H) and local GPIO interface access (PR:L); primary impact is limited kernel stack disclosure (C:L), not availability.

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

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
Sep 03, 2026 - 12:54 vuln.today
CVSS changed
Sep 03, 2026 - 12:52 NVD
5.5 (MEDIUM)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:39 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 15:39 nvd
MEDIUM 5.5

DescriptionNVD

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

hwmon: (pmbus/adm1266) reject short block-read responses in the GPIO accessors

adm1266_gpio_get() and adm1266_gpio_get_multiple() both compose the pin-status word as

pins_status = read_buf[0] + (read_buf[1] << 8);

right after i2c_smbus_read_block_data(), guarding only against an error return. A well-behaved device returns 2 bytes for GPIO_STATUS/PDIO_STATUS, but the helper happily reports a 0- or 1-byte response too. If the device returns 0 bytes, both read_buf slots are uninitialized stack memory; if it returns 1 byte, read_buf[1] is.

The composed value then flows through set_bit() into the caller's *bits in adm1266_gpio_get_multiple(), or into the return value of adm1266_gpio_get(), and ends up in userspace via gpiolib (sysfs and the char-dev ioctls). That leaks a few bits of kernel stack per request on any device whose firmware glitch, bus error, or hostile slave produces a short block-read response.

Add the missing length check to both call sites and surface a short response as -EIO.

AnalysisAI

Kernel stack memory leaks to userspace through the adm1266 PMBus GPIO driver in the Linux kernel when the ADM1266 hardware returns a shorter-than-expected I2C block-read response. Both adm1266_gpio_get() and adm1266_gpio_get_multiple() assemble a 16-bit status word from two buffer bytes without first verifying that at least two bytes were returned; uninitialized stack data then propagates through the gpiolib subsystem into sysfs and char-device ioctls accessible to local users. No public exploit exists and EPSS probability is 0.18% (8th percentile), consistent with the hardware-specific, locally-exploitable nature of this flaw; patches have been released across all active stable kernel branches.

Technical ContextAI

The ADM1266 is an Analog Devices PMBus power-systems sequencer and supervisor, accessed over I2C. The Linux hwmon driver at drivers/hwmon/pmbus/adm1266.c calls i2c_smbus_read_block_data() to fetch GPIO_STATUS and PDIO_STATUS registers, which are expected to return exactly 2 bytes. The SMBus block-read protocol prefixes a byte count; the driver checks only for an error return, not whether the returned length is at least 2. The composed value pins_status = read_buf[0] + (read_buf[1] << 8) is then passed into set_bit() calls (for adm1266_gpio_get_multiple()) or returned directly (for adm1266_gpio_get()), surfacing through the gpiolib layer to both /sys/class/gpio/ sysfs nodes and /dev/gpiochipN character-device ioctls. While no CWE is formally assigned, the root cause maps to CWE-125 (Out-of-bounds Read) on uninitialized stack memory, resulting in partial kernel-stack disclosure per request. The CPE cpe:2.3:a:linux:linux:* broadly covers the Linux kernel.

RemediationAI

Update the Linux kernel to a patched stable release: 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11, or 7.1, depending on the running branch. Upstream fix commits for each branch are available at git.kernel.org (e.g., https://git.kernel.org/stable/c/fd9196aad9e5a3845cea17de3405ebc700382142 for one branch). Ubuntu users should apply the USN-8575-1 update at https://ubuntu.com/security/notices/USN-8575-1. On systems where a kernel update is immediately impractical and ADM1266 hardware is present, restricting access to /sys/class/gpio/ sysfs nodes and /dev/gpiochipN character devices to root or a dedicated hardware-monitor group removes the userspace-reachable leak path with minimal side-effect. Blacklisting the adm1266 module via 'blacklist adm1266' in /etc/modprobe.d/ is a more disruptive workaround that fully eliminates the vulnerable code path but disables all PMBus monitoring and GPIO management for the ADM1266 device.

Vendor StatusVendor

SUSE

Severity: Low
Product Status
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.208 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.184 Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.218 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.186 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.237 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.180 Affected
SUSE Linux Enterprise Real Time 15 SP7 SUSE Real Time Module 15 SP7 Fixed
SUSE Linux Micro 6.0 Fixed

Share

CVE-2026-64083 vulnerability details – vuln.today

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