Bug 2347726 (CVE-2022-49612) - CVE-2022-49612 kernel: power: supply: core: Fix boundary conditions in interpolation
Summary: CVE-2022-49612 kernel: power: supply: core: Fix boundary conditions in interp...
Keywords:
Status: NEW
Alias: CVE-2022-49612
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-02-26 03:04 UTC by OSIDB Bzimport
Modified: 2025-05-05 14:18 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-02-26 03:04:36 UTC
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.

Comment 1 Avinash Hanwate 2025-02-26 10:59:59 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025022613-CVE-2022-49612-8875@gregkh/T

Comment 4 Avinash Hanwate 2025-02-26 15:22:13 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025022613-CVE-2022-49612-8875@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.