CVE-2024-42102: Linux Kernel

Medium severity, CVSS 4.7. EPSS: 0.3% chance of exploitation in the next 30 days.

In the Linux kernel, the following vulnerability has been resolved: Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again" Patch series "mm: Avoid possible overflows in dirty throttling". Dirty throttling logic assumes dirty limits in page units fit into 32-bits. This patch series makes sure this is true (see patch 2/2 for more details). This patch (of 2): This reverts commit 9319b647902cbd5cc884ac08a8a6d54ce111fc78. The commit is broken in several ways. Firstly, the removed (u64) cast from the multiplication will introduce a multiplication overflow on 32-bit archs if wb_thresh * bg_thresh >= 1<<32 (which is actually common - the default settings with 4GB of RAM will trigger this). Secondly, the div64_u64() is unnecessarily expensive on 32-bit archs. We have div64_ul() in case we want to be safe & cheap. Thirdly, if dirty thresholds are larger than 1<<32 pages, then dirty balancing is going to blow up in many other spectacular ways anyway so trying to fix one possible overflow is just moot.

Affected products

  • Linux Linux Kernel: from 4.19.307, before 4.19.318 (fixed in 4.19.318); from 5.4.269, before 5.4.280 (fixed in 5.4.280); from 5.10.210, before 5.10.222 (fixed in 5.10.222); from 5.15.149, before 5.15.163 (fixed in 5.15.163); from 6.1.79, before 6.1.98 (fixed in 6.1.98); from 6.6.18, before 6.6.39 (fixed in 6.6.39); …

Published 2024-07-30. Last modified 2026-06-17.