CVE-2026-52948

Severity CVSS v4.0:
Pending analysis
Type:
CWE-190 Integer Overflow or Wraparound
Publication date:
24/06/2026
Last modified:
14/07/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl<br /> <br /> While fuzzing with Syzkaller, a persistent `schedule_timeout: wrong<br /> timeout value` warning was observed, accompanied by SMBus controller<br /> state machine corruption.<br /> <br /> The I2C_TIMEOUT ioctl accepts a user-provided timeout in multiples of<br /> 10 ms. The user argument is checked against INT_MAX, but it is<br /> subsequently multiplied by 10 before being passed to msecs_to_jiffies().<br /> <br /> A malicious user can pass a large value (e.g., 429496729) that passes<br /> the `arg &gt; INT_MAX` check but overflows when multiplied by 10. This<br /> results in a truncated 32-bit unsigned value that bypasses the<br /> internal `(int)m adapter-&gt;timeout`<br /> (a signed 32-bit int), which is reinterpreted as a negative number.<br /> When passed to wait_for_completion_timeout(), this negative value<br /> undergoes sign extension to a 64-bit unsigned long, triggering the<br /> `schedule_timeout` warning and causing premature returns. This leaves<br /> the SMBus state machine in an unrecoverable state, constituting a<br /> local Denial of Service (DoS).<br /> <br /> Fix this by bounding the user argument to `INT_MAX / 10`.<br /> <br /> [wsa: move the comment as well]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.29.1 (including) 5.10.259 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.210 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.176 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.143 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.94 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.36 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 7.0.13 (excluding)
cpe:2.3:o:linux:linux_kernel:2.6.29:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.29:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.29:rc8:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*