CVE-2026-74549
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/08/2026
Última modificación:
15/08/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
hwmon: (nct6775-core) Prevent access to unsupported weight registers<br />
<br />
Sashiko reports:<br />
<br />
During initialization of the nct6116 chip, the driver sets data->pwm_num<br />
to 5. However, it assigns several NCT6106 register arrays (such as<br />
NCT6106_REG_WEIGHT_DUTY_STEP, NCT6106_REG_WEIGHT_TEMP_SEL, and<br />
NCT6106_REG_WEIGHT_TEMP_*) to data->REG_PWM and data->REG_WEIGHT_TEMP.<br />
These arrays only contain 3 elements.<br />
<br />
In nct6775_update_pwm(), the driver iterates up to data->pwm_num. If<br />
data->has_pwm has bits 3 or 4 set (which is structurally possible for<br />
nct6116), the loop attempts to read elements at index 3 and 4 from these<br />
3-element arrays. This results in a global out-of-bounds read, which can<br />
be caught by KASAN.<br />
<br />
Furthermore, the driver uses these garbage out-of-bounds values as<br />
hardware register addresses for subsequent read and write operations. This<br />
leads to invalid hardware register access, potentially causing hardware<br />
misconfiguration or system crashes.<br />
<br />
The underlying problem is that the chip does support up to five fan<br />
control channels, but only the first three support weight control.<br />
Fix the problem by extending the affected weight register arrays with<br />
zeroed fields. The driver uses zeroed register addresses to determine<br />
if a register is supported or not, and skips accesses for unsupported<br />
registers.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/1b722740ac5c2b2070f9ba922f4e0f227faf0246
- https://git.kernel.org/stable/c/25b528816f5d83be5236dc182692369e8c9402b0
- https://git.kernel.org/stable/c/4ad2972ef0e1bd1018ad7a72661a4636ed7daecc
- https://git.kernel.org/stable/c/689082a4cb166a7ae9729f7b12339e69fdad6c52
- https://git.kernel.org/stable/c/d0b704e569ac3b8416d8e02270cdc9bf830ed395



