CVE-2022-49749 i2c: designware: use casting of u64 in clock multiplication to avoid overflow
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.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2022-49749, GHSA-hxj2-x4g6-rhf8, UBUNTU-CVE-2022-49749.