Skip to main content

Linux CVE-2026-64191

| EUVDEUVD-2026-46011 HIGH
Out-of-bounds Read (CWE-125)
2026-07-20 Linux GHSA-cc9h-5xhh-h7j7
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
SUSE
6.7 MEDIUM
AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Jul 27, 2026 - 07:30 vuln.today
CVSS changed
Jul 27, 2026 - 05:22 NVD
7.8 (HIGH)
Patch available
Jul 20, 2026 - 18:18 EUVD
CVE Published
Jul 20, 2026 - 16:27 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 20, 2026 - 16:27 cve.org
HIGH 7.8

DescriptionCVE.org

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

i2c: stub: Reject I2C block transfers with invalid length

The I2C_SMBUS_I2C_BLOCK_DATA case in stub_xfer() uses data->block[0] as the transfer length. The existing check only clamps it to avoid overrunning the chip->words[256] register array, but does not validate it against I2C_SMBUS_BLOCK_MAX (32), which is the limit of the union i2c_smbus_data.block buffer (34 bytes total). The driver is a development/test tool (CONFIG_I2C_STUB=m, not built by default) that must be loaded with a chip_addr= parameter.

A local user with access to /dev/i2c-* can issue an I2C_SMBUS ioctl with I2C_SMBUS_I2C_BLOCK_DATA and data->block[0] > 32, causing stub_xfer() to read or write past the end of the union i2c_smbus_data.block buffer:

BUG: KASAN: stack-out-of-bounds in stub_xfer (drivers/i2c/i2c-stub.c:223) Read of size 1 at addr ffff88800abcfd92 by task exploit/81 Call Trace: <TASK> stub_xfer (drivers/i2c/i2c-stub.c:223) __i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:593) i2c_smbus_xfer (drivers/i2c/i2c-core-smbus.c:536) i2cdev_ioctl_smbus (drivers/i2c/i2c-dev.c:391) i2cdev_ioctl (drivers/i2c/i2c-dev.c:478) __x64_sys_ioctl (fs/ioctl.c:583) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK>

The bug exists because i2c-stub implements .smbus_xfer directly, bypassing the I2C_SMBUS_BLOCK_MAX validation in i2c_smbus_xfer_emulated(). The I2C_SMBUS_BLOCK_DATA case in the same function correctly validates against I2C_SMBUS_BLOCK_MAX, but the I2C_SMBUS_I2C_BLOCK_DATA case does not.

Fix by rejecting transfers with data->block[0] == 0 or data->block[0] > I2C_SMBUS_BLOCK_MAX with -EINVAL, consistent with both the I2C_SMBUS_BLOCK_DATA case in the same function and the I2C_SMBUS_I2C_BLOCK_DATA validation in i2c_smbus_xfer_emulated().

AnalysisAI

We need to analyze CVE-2026-64191. The provided data includes description, CVSS, EPSS, patch status, CPE, affected versions, references. I need to synthesize a comprehensive analysis, return JSON with specific fields. The vulnerability is in Linux kernel, specifically i2c-stub driver. It's a development/test tool, not built by default. Local user with access to /dev/i2c-* can cause out-of-bounds read/write via I2C_SMBUS ioctl with crafted block transfer. The fix rejects invalid lengths.

Now, let's fill each field carefully.

product_name: it's "Linux kernel" or more specifically "i2c-stub driver"? The instructions say "1-3 words ONLY. The specific product or service name affected." The vulnerability is in the Linux kernel's i2c-stub driver. But product name should be "Linux Kernel" because it's a driver within the kernel. However, maybe "i2c-stub driver" is too specific; "Linux Kernel" is the product. CPE is for linux:linux. The EUVD lists Linux various versions. So product_name = "Linux Kernel". I'll say "Linux Kernel" (2 words).

summary: 2-3 sentence plain-language synthesis. Must not start with "A vulnerability", etc. Start with impact verb and product. Explain what, who, what attacker can do. Use all data: it's a local out-of-bounds access in i2c-stub test driver, allowing local user to read/write beyond buffer, potentially leading to privilege escalation or information disclosure. Actively exploited? No KEV. EPSS is 0.17% very low. POC likely exists because description includes a reproducer with KASAN output. But no explicit "POC=YES". The description says "A local user with access to /dev/i2c-* can issue an I2C_SMBUS ioctl ... causing ... out-of-bounds". That's a POC description. So "publicly available exploit code exists". But note that the driver must be loaded with chip_addr parameter. So it's not widely deployed.

Summary: "Local privilege escalation in Linux Kernel's i2c-stub test driver allows any local user with access to /dev/i2c-* devices to trigger

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-64191 vulnerability details – vuln.today

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