CVE-2026-74645 (GCVE-0-2026-74645)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-22 15:32
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
mm/damon/lru_sort: error out for >10000 active_mem_bp
damos_quota_score() can trigger division by zero if the target value is
zero. DAMON_LRU_SORT lets users set the target value for the hot memory
scheme via active_mem_bp parameter. It avoids setting it as the target
value if the parameter value is zero. However, it also sets the cold
memory scheme with a target value that is calculated as '10000 -
active_mem_bp + 2'. Hence, if a user sets active_mem_bp 10002, the cold
memory scheme's quota goal target value can be zero. As a result,
division by zero can be triggered. Fix by returning an error when the
user tries to start DAMON with >10000 active_mem_bp parameter value.
It makes no sense to set active_mem_bp with 10002. It also requires
module parameters write permission to reproduce the issue. That said, the
consequence is quite bad.
One reliable way to reproduce the issue is like below:
# cd /sys/module/damon_lru_sort/parameters
# echo 1000 > wmarks_high
# echo 995 > wmarks_mid
# echo 0 > wmarks_low
# echo 10002 > active_mem_bp
# echo Y > enabled
# dmesg -w
[...]
[ 597.421247] Oops: divide error: 0000 [#1] SMP NOPTI
[ 597.428848] RIP: 0010:damos_quota_score+0x6f/0x480
This issue was discovered [1] by Sashiko.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"mm/damon/lru_sort.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "e7e5e5e0dfe2ea171044c24c263efae4ee882b3f",
"status": "affected",
"version": "40d98d31cd7060228e03303c5c34ae7101020416",
"versionType": "git"
},
{
"lessThan": "06befa61c427e74319781e6f35a364cfc32dbae8",
"status": "affected",
"version": "40d98d31cd7060228e03303c5c34ae7101020416",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"mm/damon/lru_sort.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "7.0"
},
{
"lessThan": "7.0",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "7.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "7.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm/damon/lru_sort: error out for \u003e10000 active_mem_bp\n\ndamos_quota_score() can trigger division by zero if the target value is\nzero. DAMON_LRU_SORT lets users set the target value for the hot memory\nscheme via active_mem_bp parameter. It avoids setting it as the target\nvalue if the parameter value is zero. However, it also sets the cold\nmemory scheme with a target value that is calculated as \u002710000 -\nactive_mem_bp + 2\u0027. Hence, if a user sets active_mem_bp 10002, the cold\nmemory scheme\u0027s quota goal target value can be zero. As a result,\ndivision by zero can be triggered. Fix by returning an error when the\nuser tries to start DAMON with \u003e10000 active_mem_bp parameter value.\n\nIt makes no sense to set active_mem_bp with 10002. It also requires\nmodule parameters write permission to reproduce the issue. That said, the\nconsequence is quite bad.\n\nOne reliable way to reproduce the issue is like below:\n\n # cd /sys/module/damon_lru_sort/parameters\n # echo 1000 \u003e wmarks_high\n # echo 995 \u003e wmarks_mid\n # echo 0 \u003e wmarks_low\n # echo 10002 \u003e active_mem_bp\n # echo Y \u003e enabled\n # dmesg -w\n [...]\n [ 597.421247] Oops: divide error: 0000 [#1] SMP NOPTI\n [ 597.428848] RIP: 0010:damos_quota_score+0x6f/0x480\n\nThis issue was discovered [1] by Sashiko."
}
],
"providerMetadata": {
"dateUpdated": "2026-08-22T15:32:22.645Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/e7e5e5e0dfe2ea171044c24c263efae4ee882b3f"
},
{
"url": "https://git.kernel.org/stable/c/06befa61c427e74319781e6f35a364cfc32dbae8"
}
],
"title": "mm/damon/lru_sort: error out for \u003e10000 active_mem_bp",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74645",
"datePublished": "2026-08-22T15:32:22.645Z",
"dateReserved": "2026-08-15T05:44:03.923Z",
"dateUpdated": "2026-08-22T15:32:22.645Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…