In the Linux kernel, the following vulnerability has been resolved: hwmon: (ltc4282) Clamp...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
hwmon: (ltc4282) Clamp negative current limits
When a negative value is passed to ltc4282_write_curr(), the signed long val is cast directly to u64:
drivers/hwmon/ltc4282.c:ltc4282_write_curr() { /* need to pass it in millivolt */ u32 in = DIV_ROUND_CLOSEST_ULL((u64)val * st->rsense, DECA * MICRO); ... }
This cast converts negative inputs into large positive values. The subsequent division result overflows the u32 in variable, truncating to a pseudo-random positive value. When this is passed to ltc4282_write_voltage_byte(), it is clamped to the maximum limit instead of zero.
Clamp val to 0 and to the maximum supported upper limit before the cast and assign the result to a 64-bit temporary variable before the division to avoid the underflow and an also possible overflow.
🔗 References (6)
- https://nvd.nist.gov/vuln/detail/CVE-2026-74685
- https://git.kernel.org/stable/c/046e56b53c09375ef39903514496aa5508db9729
- https://git.kernel.org/stable/c/60e06c4dba696173982393252a40ceb7dd2eec18
- https://git.kernel.org/stable/c/de58b90a4d1417c15b693eb04c0ce6bc925d84c6
- https://git.kernel.org/stable/c/e253dd5f9f6d875a317895bf43ec9534ed7523cb
- https://github.com/advisories/GHSA-pg82-jq9q-m7pf