CVE-2024-42102: Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
Noroxi assessment
Priority: Monitor (action score 18/100)
- The sources we track (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) show no public exploit code or exploitation in the wild.
- Probability of exploitation in the next 30 days: 0.25% (FIRST EPSS).
- Someone with local access to the system can trigger it. A low-privileged account is enough. No user action is required. Special conditions such as timing or configuration are required.
- Fixed version: Linux Linux 000099d71648504fb9c7a4616f92c2b70c3e44ec, 145faa3d03688cbb7bbaaecbd84c01539852942c, 23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807; azl3 kernel 6.6.35.1-5 on Azure Linux 3.0 6.6.47.1-1; azl3 kernel 6.6.47.1-1 on Azure Linux 3.0 6.6.47.1-1.
- Mentioned 1 time in Turkish national cyber security advisories (siberguvenlik.gov.tr).
Low priority for now. Upgrade to Linux Linux 000099d71648504fb9c7a4616f92c2b70c3e44ec, 145faa3d03688cbb7bbaaecbd84c01539852942c, 23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807; azl3 kernel 6.6.35.1-5 on Azure Linux 3.0 6.6.47.1-1; azl3 kernel 6.6.47.1-1 on Azure Linux 3.0 6.6.47.1-1 or later.
Generated automatically from the record's data: CVSS (NVD and CNA), CISA KEV and SSVC, FIRST EPSS, exploit sources, fixed versions. How we calculate it
Primary sources: NVD · CVE.org · FIRST EPSS
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.
- Published
- Jul 30, 2024
- Updated
- Jun 17, 2026
- EPSS
- 0.2% · 17th percentile
- CWE
- CWE-369
Report tools
Action score
18
Monitor
Low priority for now.
- CVSS
- 18 / 40 · 4.7 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.2%
CISA SSVC decision
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
Vulnrichment: CISA's decision-tree inputs.
Get told when this record changes
- Not in KEV: no record of exploitation in the wild
- No public exploit code on record
- A fix has been released
If any of these changes, we'll tell you in the daily email digest.
Running WordPress? Scan your site free with WP Lens
Noroxi analysis
What does it mean in your environment?
The assessment above is generated automatically from the record's data; it doesn't know your environment. Our team verifies on your systems whether this vulnerability is actually exploitable and which mitigation is enough.
We use this product, ask for helpAffected systems
Is your version affected?
Pick the product and type the version you run. It's compared with this record's version ranges in your browser; the version isn't sent anywhere.
| Vendor | Product | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- linux linux kernel4.19.307 and later · before 4.19.318
- linux linux kernel5.4.269 and later · before 5.4.280
- linux linux kernel5.10.210 and later · before 5.10.222
- linux linux kernel5.15.149 and later · before 5.15.163
- linux linux kernel6.1.79 and later · before 6.1.98
- linux linux kernel6.6.18 and later · before 6.6.39
- linux linux kernel6.8 and later · before 6.9.9
Versions reported by the vendor
Affected version ranges reported by the assigning authority (Linux). Independent of NVD's CPE analysis and usually ahead of it.
Linux Linux
- 65977bed167a92e87085e757fffa5798f7314c9f, 6.8affected
- c593d26fb5d577ef31b6e49a31e08ae3ebc1bc1e and later · before 253f9ea7e8e53a5176bd80ceb174907b10724c1aaffected · git
- 1f12e4b3284d6c863f272eb2de0d4248ed211cf4 and later · before 23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807affected · git
- 81e7d2530d458548b90a5c5e76b77ad5e5d1c0df and later · before 145faa3d03688cbb7bbaaecbd84c01539852942caffected · git
- 5099871b370335809c0fd1abad74d9c7c205d43f and later · before 2820005edae13b140f2d54267d1bd6bb23915f59affected · git
- 16b1025eaa8fc223ab4273ece20d1c3a4211a95d and later · before cbbe17a324437c0ff99881a3ee453da45b228a00affected · git
- ec18ec230301583395576915d274b407743d8f6c and later · before f6620df12cb6bdcad671d269debbb23573502f9daffected · git
- 9319b647902cbd5cc884ac08a8a6d54ce111fc78 and later · before 000099d71648504fb9c7a4616f92c2b70c3e44ecaffected · git
- 9319b647902cbd5cc884ac08a8a6d54ce111fc78 and later · before 30139c702048f1097342a31302cbd3d478f50c63affected · git
- 4.19.307 and later · before 4.19.318affected · semver
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:12 | linux | before 6.1.98-1 | 6.1.98-1 |
| Debian:13 | linux | before 6.9.9-1 | 6.9.9-1 |
| Red Hat:rhel_eus:9.2::appstream | bpftool-debuginfo | before 0:7.0.0-284.82.1.el9_2 | 0:7.0.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-debug-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-debug-devel | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-debug-devel-matched | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-devel | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-64k-devel-matched | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debug-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debug-devel | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debug-devel-matched | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debuginfo-common-aarch64 | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debuginfo-common-ppc64le | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debuginfo-common-s390x | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-debuginfo-common-x86_64 | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-devel | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-devel-matched | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-tools-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-zfcpdump-debuginfo | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-zfcpdump-devel | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | kernel-zfcpdump-devel-matched | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | perf | before 0:5.14.0-284.82.1.el9_2 | 0:5.14.0-284.82.1.el9_2 |
+53
Same product
linux: all recordsOther highest-scoring records for the same primary product.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Now
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Now
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Now
Published before and after this one in the same product
- ← EarlierCVE-2024-42100Jul 30, 2024 · clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common22Monitor
- ← EarlierCVE-2024-42101Jul 30, 2024 · drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes22Monitor
- Later →CVE-2024-42103Jul 30, 2024 · btrfs: fix adding block group to a reclaim list and the unused list during reclaim22Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| Linux Linux | 000099d71648504fb9c7a4616f92c2b70c3e44ec | Vendor (CNA) |
| Linux Linux | 145faa3d03688cbb7bbaaecbd84c01539852942c | Vendor (CNA) |
| Linux Linux | 23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807 | Vendor (CNA) |
| Linux Linux | 253f9ea7e8e53a5176bd80ceb174907b10724c1a | Vendor (CNA) |
| Linux Linux | 2820005edae13b140f2d54267d1bd6bb23915f59 | Vendor (CNA) |
| Linux Linux | 30139c702048f1097342a31302cbd3d478f50c63 | Vendor (CNA) |
| Linux Linux | 4.19.318 | Vendor (CNA) |
| Linux Linux | 5.10.222 | Vendor (CNA) |
| Linux Linux | 5.15.163 | Vendor (CNA) |
| Linux Linux | 5.4.280 | Vendor (CNA) |
| Linux Linux | 6.1.98 | Vendor (CNA) |
| Linux Linux | 6.6.39 | Vendor (CNA) |
| Linux Linux | 6.8 | Vendor (CNA) |
| Linux Linux | cbbe17a324437c0ff99881a3ee453da45b228a00 | Vendor (CNA) |
| Linux Linux | f6620df12cb6bdcad671d269debbb23573502f9d | Vendor (CNA) |
| azl3 kernel 6.6.35.1-5 on Azure Linux 3.0 | 6.6.47.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| azl3 kernel 6.6.47.1-1 on Azure Linux 3.0 | 6.6.47.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.162.2-1 on CBL Mariner 2.0 | 5.15.164.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.162.2-1 on CBL-Mariner 2.0 | 5.15.164.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.164.1-1 on CBL Mariner 2.0 | 5.15.164.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.98-1 · Debian:12 | Package registry (OSV) |
| red hat:bpftool-debuginfo | 0:7.0.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-debug-devel | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-debuginfo | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-devel | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-64k-devel-matched | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-debug-debuginfo | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
| red hat:kernel-debug-devel | 0:5.14.0-284.82.1.el9_2 · Red Hat:rhel_eus:9.2::appstream | Package registry (OSV) |
+3
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
No history yet (it accumulates with the daily EPSS job).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
No credits in the CNA record.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
- CVE-2024-2694590 days apartcrypto: iaa - Fix nr_cpus < nr_iaa case33Monitor
- CVE-2024-4231618 days apartmm/mglru: fix div-by-zero in vmpressure_calc_level()22Monitor
- CVE-2024-3947525 days apartfbdev: savage: Handle err return when savagefb_check_var failed22Monitor
- CVE-2024-4388927 days apartpadata: Fix possible divide-by-0 panic in padata_mt_helper()22Monitor
- CVE-2024-4389327 days apartserial: core: check uartclk for zero to avoid divide by zero22Monitor
- CVE-2021-4758441 days apartiocost: Fix divide-by-zero on donation from low hweight cgroup22Monitor
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
National notice (Türkiye Cybersecurity Directorate / USOM)
Official security notices citing this record; remediation advice is on the agency's page.
- TR-24-1106 · Jul 31, 2024(Linux Kernel Güncellemesi)
Technical details
Attack conditions
- Someone with local access to the system can trigger it.
- A low-privileged account is enough.
- No user action is required.
- Special conditions such as timing or configuration are required.
If successful
- Confidentiality
- none
- Integrity
- none
- Availability
- high · the service can be disrupted
- Attack vector
- Local
- Attack complexity
- High
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality impact
- None
- Integrity impact
- None
- Availability impact
- High
Weakness class (CWE)
CWE-369 · Divide By ZeroCVSS vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
MITRE has no CAPEC/ATT&CK mapping for this CWE.
Change log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Show all references (8 more)Show less
- git.kernel.org/stable/c/145faa3d03688cbb7bbaaecbd84c01539852942c
- git.kernel.org/stable/c/23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807
- git.kernel.org/stable/c/253f9ea7e8e53a5176bd80ceb174907b10724c1a
- git.kernel.org/stable/c/2820005edae13b140f2d54267d1bd6bb23915f59
- git.kernel.org/stable/c/30139c702048f1097342a31302cbd3d478f50c63
- git.kernel.org/stable/c/cbbe17a324437c0ff99881a3ee453da45b228a00
- git.kernel.org/stable/c/f6620df12cb6bdcad671d269debbb23573502f9d
- lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Vendor advisories and official records. Exploit/PoC links are deliberately left out.