CVE-2022-49612

power: supply: core: Fix boundary conditions in interpolation

published February 26, 2025

CVSS
—
EPSS
0%
Percentile
19.1
In the wild
Unconfirmed
What it is

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

power: supply: core: Fix boundary conditions in interpolation

The functions power_supply_temp2resist_simple and power_supply_ocv2cap_simple

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00277 · 19.1th percentile
Published
2025-02-26T02:23Z
EPSS history
Timeline
  • 26 FEB 02:23Z
    power: supply: core: Fix boundary conditions in interpolation
    cvelistv5