{"id":"CVE-2024-42131","state":"PUBLISHED","title":"mm: avoid overflows in dirty throttling logic","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm: avoid overflows in dirty throttling logic\n\nThe dirty throttling logic is interspersed with assumptions that dirty\nlimits in PAGE_SIZE units fit into 32-bit (so that various multiplications\nfit into 64-bits).  If limits end up being larger, we will hit overflows,\npossible divisions by 0 etc.  Fix these problems by never allowing so\nlarge dirty limits as they have dubious practical value anyway.  For\ndirty_bytes / dirty_background_bytes interfaces we can just refuse to set\nso large limits.  For dirty_ratio / dirty_background_ratio it isn't so\nsimple as the dirty limit is computed from the amount of available memory\nwhich can change due to memory hotplug etc.  So when converting dirty\nlimits from ratios to numbers of pages, we just don't allow the result to\nexceed UINT_MAX.\n\nThis is root-only triggerable problem which occurs when the operator\nsets dirty limits to >16 TB.","publishedAt":"2024-07-30T07:46:26.872Z","updatedAt":"2026-10-15T00:47:58.558Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"2b2d2b8766db028bd827af34075f221ae9e9efff","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"4d3817b64eda07491bdd86a234629fe0764fb42a","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"7a49389771ae7666f4dc3426e2a4594bf23ae290","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"a25e8536184516b55ef89ab91dd2eea429de28d2","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"c83ed422c24f0d4b264f89291d4fabe285f80dbc","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"bd16a7ee339aef3ee4c90cb23902afb6af379ea0","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"8e0b5e7f2895eccef5c2a0018b589266f90c4805","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"385d838df280eba6c8680f9777bfa0d0bfe7e8b2","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/page-writeback.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"4.19.320","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.282","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.222","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.163","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.98","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.39","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.9","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/page-writeback.c"]}],"references":["https://git.kernel.org/stable/c/2b2d2b8766db028bd827af34075f221ae9e9efff","https://git.kernel.org/stable/c/4d3817b64eda07491bdd86a234629fe0764fb42a","https://git.kernel.org/stable/c/7a49389771ae7666f4dc3426e2a4594bf23ae290","https://git.kernel.org/stable/c/a25e8536184516b55ef89ab91dd2eea429de28d2","https://git.kernel.org/stable/c/c83ed422c24f0d4b264f89291d4fabe285f80dbc","https://git.kernel.org/stable/c/bd16a7ee339aef3ee4c90cb23902afb6af379ea0","https://git.kernel.org/stable/c/8e0b5e7f2895eccef5c2a0018b589266f90c4805","https://git.kernel.org/stable/c/385d838df280eba6c8680f9777bfa0d0bfe7e8b2","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html","https://cert-portal.siemens.com/productcert/html/ssa-398330.html","https://cert-portal.siemens.com/productcert/html/ssa-613116.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:47.831Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/42xxx/CVE-2024-42131.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-42131","state":"PUBLISHED","datePublished":"2024-07-30T07:46:26.872Z","dateUpdated":"2026-10-15T00:47:58.558Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-07-29T15:50:41.186Z"},"containers":{"cna":{"title":"mm: avoid overflows in dirty throttling logic","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm: avoid overflows in dirty throttling logic\n\nThe dirty throttling logic is interspersed with assumptions that dirty\nlimits in PAGE_SIZE units fit into 32-bit (so that various multiplications\nfit into 64-bits).  If limits end up being larger, we will hit overflows,\npossible divisions by 0 etc.  Fix these problems by never allowing so\nlarge dirty limits as they have dubious practical value anyway.  For\ndirty_bytes / dirty_background_bytes interfaces we can just refuse to set\nso large limits.  For dirty_ratio / dirty_background_ratio it isn't so\nsimple as the dirty limit is computed from the amount of available memory\nwhich can change due to memory hotplug etc.  So when converting dirty\nlimits from ratios to numbers of pages, we just don't allow the result to\nexceed UINT_MAX.\n\nThis is root-only triggerable problem which occurs when the operator\nsets dirty limits to >16 TB."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"2b2d2b8766db028bd827af34075f221ae9e9efff","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"4d3817b64eda07491bdd86a234629fe0764fb42a","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"7a49389771ae7666f4dc3426e2a4594bf23ae290","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"a25e8536184516b55ef89ab91dd2eea429de28d2","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"c83ed422c24f0d4b264f89291d4fabe285f80dbc","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"bd16a7ee339aef3ee4c90cb23902afb6af379ea0","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"8e0b5e7f2895eccef5c2a0018b589266f90c4805","versionType":"git"},{"version":"2da02997e08d3efe8174c7a47696e6f7cbe69ba9","status":"affected","lessThan":"385d838df280eba6c8680f9777bfa0d0bfe7e8b2","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/page-writeback.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.29","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.29","versionType":"semver"},{"version":"4.19.320","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.282","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.222","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.163","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.98","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.39","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.9.9","status":"unaffected","lessThanOrEqual":"6.9.*","versionType":"semver"},{"version":"6.10","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/page-writeback.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/2b2d2b8766db028bd827af34075f221ae9e9efff"},{"url":"https://git.kernel.org/stable/c/4d3817b64eda07491bdd86a234629fe0764fb42a"},{"url":"https://git.kernel.org/stable/c/7a49389771ae7666f4dc3426e2a4594bf23ae290"},{"url":"https://git.kernel.org/stable/c/a25e8536184516b55ef89ab91dd2eea429de28d2"},{"url":"https://git.kernel.org/stable/c/c83ed422c24f0d4b264f89291d4fabe285f80dbc"},{"url":"https://git.kernel.org/stable/c/bd16a7ee339aef3ee4c90cb23902afb6af379ea0"},{"url":"https://git.kernel.org/stable/c/8e0b5e7f2895eccef5c2a0018b589266f90c4805"},{"url":"https://git.kernel.org/stable/c/385d838df280eba6c8680f9777bfa0d0bfe7e8b2"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T20:27:34.664Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"4.19.320"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.4.282"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.10.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"5.15.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.1.98"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.6.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.9.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29","versionEndExcluding":"6.10"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/7a49389771ae7666f4dc3426e2a4594bf23ae290","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/a25e8536184516b55ef89ab91dd2eea429de28d2","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/c83ed422c24f0d4b264f89291d4fabe285f80dbc","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/bd16a7ee339aef3ee4c90cb23902afb6af379ea0","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/8e0b5e7f2895eccef5c2a0018b589266f90c4805","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/385d838df280eba6c8680f9777bfa0d0bfe7e8b2","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:02:02.307Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-42131","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T16:16:25.346003Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:34:36.512Z"}},{"affected":[{"vendor":"Siemens","product":"RUGGEDCOM RST2428P","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.1","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family","defaultStatus":"unknown","versions":[{"version":"0","status":"unaffected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SCALANCE XCM-/XRM-/XCH-/XRH-300 family","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"V3.1","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.0","status":"affected","lessThan":"V3.1.5","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-398330.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-613116.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T00:47:58.558Z"},"x_adpType":"supplier"}]}}}