CVE-2026-52948
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2026-52948 is an integer overflow vulnerability in the Linux kernel's I2C subsystem (i2c: dev) that allows a local attacker to trigger a Denial of Service (DoS) by corrupting the SMBus controller state machine. The flaw was discovered via Syzkaller fuzzing and disclosed on June 24, 2026. It affects the Linux kernel from version 2.6.29 through multiple stable branches, with fixes backported to 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, and 7.1+. No official CVSS score has been published; Feedly estimates the severity as Medium with an EPSS score of 0.00185 (Feedly).

Technical details

The root cause is an integer overflow (CWE-190) in the handling of the I2C_TIMEOUT ioctl in drivers/i2c/i2c-dev.c. The ioctl accepts a user-supplied timeout value in multiples of 10 ms and validates it against INT_MAX, but then multiplies it by 10 before passing it to msecs_to_jiffies(). A local user can supply a value such as 429496729 that passes the arg > INT_MAX guard but overflows to a small or zero value when multiplied by 10 in 32-bit arithmetic. The truncated value is assigned to client->adapter->timeout (a signed 32-bit int), which is then reinterpreted as a negative number; when passed to wait_for_completion_timeout(), sign extension to a 64-bit unsigned long triggers a schedule_timeout: wrong timeout value kernel warning and causes premature returns, leaving the SMBus state machine in an unrecoverable state. The fix bounds the user argument to INT_MAX / 10 before the multiplication (Feedly).

Impact

Successful exploitation results in a local Denial of Service: the SMBus/I2C controller state machine becomes corrupted and unrecoverable without a reboot or driver reload, disrupting all I2C/SMBus-dependent hardware (e.g., sensors, EEPROMs, power management ICs). There is no evidence of confidentiality or integrity impact — the vulnerability is limited to availability. The scope is confined to the local system; lateral movement or remote exploitation is not applicable (Feedly).

Exploitation steps

  1. Gain local access: Obtain a local user account on a Linux system running a vulnerable kernel (2.6.29 through the unpatched stable branches) with an accessible I2C/SMBus adapter device node (e.g., /dev/i2c-0).
  2. Identify the target device node: Enumerate available I2C adapters using ls /dev/i2c-* or i2cdetect -l.
  3. Open the I2C device: Open the target device node with sufficient permissions (typically requires membership in the i2c group or root).
  4. Issue the malicious ioctl: Call the I2C_TIMEOUT ioctl with a crafted large value such as 429496729 (0x19999999) that passes the arg > INT_MAX check but overflows to a near-zero or negative value when multiplied by 10.
  5. Trigger DoS: The overflowed timeout value propagates to client->adapter->timeout, causing wait_for_completion_timeout() to receive a negative value, triggering the schedule_timeout: wrong timeout value kernel warning and leaving the SMBus state machine in an unrecoverable state, effectively disabling I2C/SMBus functionality on the system (Feedly).

Indicators of compromise

  • Logs: Kernel log (dmesg / /var/log/kern.log) entries containing schedule_timeout: wrong timeout value repeated in association with I2C/SMBus operations.
  • Logs: Kernel warnings referencing i2c-dev or wait_for_completion_timeout with unexpected negative timeout values.
  • Process: Unusual or repeated ioctl calls to /dev/i2c-* device nodes from non-privileged or unexpected processes, visible via strace or audit logs.
  • System Behavior: I2C/SMBus-dependent hardware (sensors, EEPROMs, power management) becoming unresponsive or reporting errors after the suspicious ioctl activity (Feedly).

Mitigation and workarounds

Apply the upstream kernel patches that bound the I2C_TIMEOUT ioctl argument to INT_MAX / 10. Fixed versions are available in the following stable branches: 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13, and 7.1+. As a workaround where patching is not immediately possible, restrict access to /dev/i2c-* device nodes to trusted users only (e.g., remove world-readable/writable permissions and limit group membership). Amazon Linux 2 users can refer to the ALAS advisory ALAS2KERNEL-5.10-2026-124 for distribution-specific guidance (Feedly, Amazon ALAS).

Community reactions

The vulnerability was flagged in the Yocto Project security mailing list, indicating awareness in the embedded Linux community (Yocto Security List). Tenable published detection plugins (Nessus plugin IDs 322627 and 325574) shortly after disclosure. No significant vendor statements, researcher commentary, or broader media coverage has been identified beyond standard vulnerability tracking and patch distribution channels.

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-64181HIGH7.8
  • Linux Kernel logoLinux Kernel
  • linux-azure-4.15
NoYesJul 19, 2026
CVE-2026-64186NONEN/A
  • Linux Kernel logoLinux Kernel
  • libperf
NoYesJul 19, 2026
CVE-2026-64183NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-aws-6.14
NoYesJul 19, 2026
CVE-2026-64182NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-oracle-6.17
NoYesJul 19, 2026
CVE-2026-64180NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-5.4
NoYesJul 19, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management