CVE-2022-49749 i2c: designware: use casting of u64 in clock multiplication to avoid overflow

Medium 5.5 Published Updated

An integer overflow in the Linux kernel's I2C DesignWare driver can cause incorrect timing calculations, potentially leading to a denial of service.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2022-49749?

CVE-2022-49749 is a medium-severity vulnerability in Linux kernel, published on 27 Mar 2025. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

i2c: designware: use casting of u64 in clock multiplication to avoid overflow

In functions i2c_dw_scl_lcnt() and i2c_dw_scl_hcnt() may have overflow by depending on the values of the given parameters including the ic_clk. For example in our use case where ic_clk is larger than one million, multiplication of ic_clk * 4700 will result in 32 bit overflow.

Add cast of u64 to the calculation to avoid multiplication overflow, and use the corresponding define for divide.

Weakness: CWE-190

Which versions are affected by CVE-2022-49749?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2022-49749?

Apply the vendor's patch.

Is CVE-2022-49749 being exploited?

There is no known exploitation of CVE-2022-49749 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2022-49749, GHSA-hxj2-x4g6-rhf8, UBUNTU-CVE-2022-49749.

Is CVE-2022-49749 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free