CVE-2024-42131CWE-190

CVE-2024-42131

Medium · published July 30, 2024

CVSS v3.1
4.4
EPSS
0%
Percentile
15.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

mm: avoid overflows in dirty throttling logic

The dirty throttling logic is interspersed with assumptions that dirty

limits in PAGE_SIZE units fit into 32-bit (so that various multiplications

fit into 64-bits). If limits end up being larger, we will hit overflows,

possible divisions by 0 etc. Fix these problems by never allowing so

large dirty limits as they have dubious practical value anyway. For

dirty_bytes / dirty_background_bytes interfaces we can just refuse to set

so large limits. For dirty_ratio / dirty_background_ratio it isn't so

simple as the dirty limit is computed from the amount of available memory

which can change due to memory hotplug etc. So when converting dirty

limits from ratios to numbers of pages, we just don't allow the result to

exceed UINT_MAX.

This is root-only triggerable problem which occurs when the operator

sets dirty limits to >16 TB.

The record
Technical detail
CVSS v3.1
4.4 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00251 · 15.5th percentile
Weakness
CWE-190 · Integer Overflow or Wraparound
Published
2024-07-30T12:15Z
Affected products (13)
ProductVersionsFixed in
linux/linux_kernel< 4.19.3204.19.320
linux/linux_kernel≥ 4.20, < 5.4.2825.4.282
linux/linux_kernel≥ 5.5, < 5.10.2225.10.222
linux/linux_kernel≥ 5.11, < 5.15.1635.15.163
linux/linux_kernel≥ 5.16, < 6.1.986.1.98
linux/linux_kernel≥ 6.2, < 6.6.396.6.39
linux/linux_kernel≥ 6.7, < 6.9.96.9.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (17)
https://git.kernel.org/stable/c/2b2d2b8766db028bd827af34075f221ae9e9efff · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/385d838df280eba6c8680f9777bfa0d0bfe7e8b2 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/4d3817b64eda07491bdd86a234629fe0764fb42a · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/7a49389771ae7666f4dc3426e2a4594bf23ae290 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/8e0b5e7f2895eccef5c2a0018b589266f90c4805 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/a25e8536184516b55ef89ab91dd2eea429de28d2 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/bd16a7ee339aef3ee4c90cb23902afb6af379ea0 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/c83ed422c24f0d4b264f89291d4fabe285f80dbc · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/385d838df280eba6c8680f9777bfa0d0bfe7e8b2 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/7a49389771ae7666f4dc3426e2a4594bf23ae290 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/8e0b5e7f2895eccef5c2a0018b589266f90c4805 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/a25e8536184516b55ef89ab91dd2eea429de28d2 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/bd16a7ee339aef3ee4c90cb23902afb6af379ea0 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/c83ed422c24f0d4b264f89291d4fabe285f80dbc · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-398330.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-613116.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 30 JUL 07:46Z
    mm: avoid overflows in dirty throttling logic
    cvelistv5