CVE-2022-49612: power: supply: core: Fix boundary conditions in interpolation
In the Linux kernel, the following vulnerability has been resolved:
power: supply: core: Fix boundary conditions in interpolation
The functions powersupplytemp2resistsimple and powersupplyocv2capsimple handle boundary conditions incorrectly. The change was introduced in a4585ba2050f460f749bbaf2b67bd56c41e30283 ("power: supply: core: Use library interpolation"). There are two issues: First, the lines "high = i - 1" and "high = i" in ocv2cap have the wrong order compared to temp2resist. As a consequence, ocv2cap sets high=-1 if ocv>table[0].ocv, which causes an out-of-bounds read. Second, the logic of temp2resist is also not correct. Consider the case table[] = {{20, 100}, {10, 80}, {0, 60}}. For temp=5, we expect a resistance of 70% by interpolation. However, temp2resist sets high=low=2 and returns 60.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2022-49612?
CVE-2022-49612 has been classified as a low-severity vulnerability.
How do I fix CVE-2022-49612?
To remediate CVE-2022-49612, users should upgrade their Linux kernel to the latest patched version.
What systems are affected by CVE-2022-49612?
CVE-2022-49612 affects specific versions of the Linux kernel including versions 5.17 to 5.18.13 and various release candidates of 5.19.
What do the functions involved in CVE-2022-49612 do?
The functions power_supply_temp2resist_simple and power_supply_ocv2cap_simple are involved in handling temperature to resistance conversion and open circuit voltage to capacitance calculations.
When was CVE-2022-49612 disclosed?
CVE-2022-49612 was disclosed in 2022 as part of a batch of Linux kernel vulnerabilities.