Skip to main content
VulnerabilityPublished Updated

CVE-2026-52948: Linux kernel · i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in ffbcf31f032eb454ebfd29309f51366fe57f4ac4 : update Linux kernel when convenient.

Data as of 6 Nov 2026, 16:49 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in ffbcf31f032eb454ebfd29309f51366fe57f4ac4, ff02add34ffd03449b8115904ebe2ec4fed022d4, e9ffd5f5050fbb199d270a85614cd27ebed6fbac +5

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 24 Jun 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < ffbcf31f032eb454ebfd29309f51366fe57f4ac4
Fixed in
  • ffbcf31f032eb454ebfd29309f51366fe57f4ac4
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < ff02add34ffd03449b8115904ebe2ec4fed022d4
Fixed in
  • ff02add34ffd03449b8115904ebe2ec4fed022d4
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < e9ffd5f5050fbb199d270a85614cd27ebed6fbac
Fixed in
  • e9ffd5f5050fbb199d270a85614cd27ebed6fbac
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < aa6ef734016912653a909477fb30aeb66c98b3a2
Fixed in
  • aa6ef734016912653a909477fb30aeb66c98b3a2
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < 4576621dc6577f21a032acfd16c3ad61907a5ea7
Fixed in
  • 4576621dc6577f21a032acfd16c3ad61907a5ea7
LinuxLinuxAffected
  • ≥ cd97f39b7cdf1c8a9c9f52865eec795b7f0c811d, < 943e318eedbeaeea08ece3f5dd44c982f4ed2ef5
Fixed in
  • 943e318eedbeaeea08ece3f5dd44c982f4ed2ef5

Description

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

References

Community reviews

Loading reviews…