Executive brief
A vulnerability in the Linux kernel's hardware monitoring system could allow a local user to crash the operating system. The issue occurs when the system attempts to calculate power statistics before enough data has been collected, such as during the early stages of the computer's startup process. This results in a 'division by zero' error that causes the entire system to stop functioning, potentially leading to a denial of service.
Technical details
A division by zero vulnerability exists in the Linux kernel hwmon (OCC) driver within the 'occ_show_power_1()' function. The root cause is a failure to validate that the 'update_tag' variable (representing the number of collected samples) is non-zero before using it as a divisor in power calculation logic. This condition is most easily triggered during early boot sequences when sensor blocks are initialized but have not yet been updated with sample data. An attacker with local access could potentially trigger this code path to cause a kernel panic. The fix involves utilizing the 'occ_get_powr_avg()' helper function which includes the necessary zero-check and improves precision using 'mul_u64_u32_div()'.
Affected products
- Linux Linux Kernel 5.0 to 5.10.253, 5.11 to 5.15.203, 5.16 to 6.1.168, 6.2 to 6.6.134, 6.7 to 6.12.81, 6.13 to 6.18.22, 6.19 to 6.19.12, 7.0-rc1 to 7.0-rc6
Timeline
- 2026-03-26: other: Patch authored
- 2026-05-01: disclosed: CVE published
- 2026-05-11: advisory: NVD enrichment and analysis completed
References
- https://git.kernel.org/stable/c/243d55bd3f08cb15eee9d63f4716d4d4cdd760f5
- https://git.kernel.org/stable/c/2502684b9e835de9a992ec47c3e6c6faabe3858d
- https://git.kernel.org/stable/c/37ae8fadc74ed68e5bc364ffd17746d88e449ae3
- https://git.kernel.org/stable/c/39e2a5bf970402a8530a319cf06122e216ba57b8
- https://git.kernel.org/stable/c/53e6175756b8c474b6247bbcea0aad3d68357475
- https://git.kernel.org/stable/c/7b89ce0c98bf3015f493ca4285b2d1056cd8c733
- https://git.kernel.org/stable/c/bbbefc48f6617cfb738dcff7f44beb50b5dfeb38