CVE-2026-31770

Severity CVSS v4.0:
Pending analysis
Type:
CWE-369 Divide By Zero
Publication date:
01/05/2026
Last modified:
11/05/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> hwmon: (occ) Fix division by zero in occ_show_power_1()<br /> <br /> In occ_show_power_1() case 1, the accumulator is divided by<br /> update_tag without checking for zero. If no samples have been<br /> collected yet (e.g. during early boot when the sensor block is<br /> included but hasn&amp;#39;t been updated), update_tag is zero, causing<br /> a kernel divide-by-zero crash.<br /> <br /> The 2019 fix in commit 211186cae14d ("hwmon: (occ) Fix division by<br /> zero issue") only addressed occ_get_powr_avg() used by<br /> occ_show_power_2() and occ_show_power_a0(). This separate code<br /> path in occ_show_power_1() was missed.<br /> <br /> Fix this by reusing the existing occ_get_powr_avg() helper, which<br /> already handles the zero-sample case and uses mul_u64_u32_div()<br /> to multiply before dividing for better precision. Move the helper<br /> above occ_show_power_1() so it is visible at the call site.<br /> <br /> [groeck: Fix alignment problems reported by checkpatch]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.0 (including) 5.10.253 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.203 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.168 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.134 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.81 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.22 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 6.19.12 (excluding)
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*