CVE-2026-90004 (GCVE-0-2026-90004)
Vulnerability from cvelistv5
Published
2026-09-16 10:33
Modified
2026-10-19 08:56
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
mm/damon/core: handle region split failure in apply_min_nr_regions()
damon_apply_min_nr_regions() repeatedly split each region until its size
becomes small enough to meet the user-defined low limit of the number of
regions. The loop assumes the split operation (damon_split_region_at())
will always succeed and create the new region. But the operation could
silently fail for memory allocation failures, for example.
If such failure happens and the region was the last region, the linked
list-based next region fetching returns invalid pointer. As a result,
invalid memory dereference and corruption could happen. Even if the
corner case is handled, it imposes stress to the allocator by trying split
regions for other targets. Fix the issue by breaking all the loops for
any region split failure.
This means there could be a min_nr_regions violation. It will only rarely
happen since the allocation is arguably too small to fail. Even if it
happens, it is only temporal. damon_apply_min_nr_regions() will be called
again after the aggregation interval.
The user impact of the issue should be minor, since the allocation is
arguably too small to fail. But, it could still theoretically happen, and
the consequence is very bad.
This issue was discovered [1] by Sashiko.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"mm/damon/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "463ebd63e8ee3d73022a18915ea43320dad8aad7",
"status": "affected",
"version": "b1029f29eb1d5fbf07fa8db9b5e7ab6d9813ad67",
"versionType": "git"
},
{
"lessThan": "c608748607620f331196ed0ba9fe4017892c1457",
"status": "affected",
"version": "b1029f29eb1d5fbf07fa8db9b5e7ab6d9813ad67",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"mm/damon/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "7.1"
},
{
"lessThan": "7.1",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.5",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.5",
"versionStartIncluding": "7.1",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3",
"versionStartIncluding": "7.1",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm/damon/core: handle region split failure in apply_min_nr_regions()\n\ndamon_apply_min_nr_regions() repeatedly split each region until its size\nbecomes small enough to meet the user-defined low limit of the number of\nregions. The loop assumes the split operation (damon_split_region_at())\nwill always succeed and create the new region. But the operation could\nsilently fail for memory allocation failures, for example.\n\nIf such failure happens and the region was the last region, the linked\nlist-based next region fetching returns invalid pointer. As a result,\ninvalid memory dereference and corruption could happen. Even if the\ncorner case is handled, it imposes stress to the allocator by trying split\nregions for other targets. Fix the issue by breaking all the loops for\nany region split failure.\n\nThis means there could be a min_nr_regions violation. It will only rarely\nhappen since the allocation is arguably too small to fail. Even if it\nhappens, it is only temporal. damon_apply_min_nr_regions() will be called\nagain after the aggregation interval.\n\nThe user impact of the issue should be minor, since the allocation is\narguably too small to fail. But, it could still theoretically happen, and\nthe consequence is very bad.\n\nThis issue was discovered [1] by Sashiko."
}
],
"providerMetadata": {
"dateUpdated": "2026-10-19T08:56:18.224Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/463ebd63e8ee3d73022a18915ea43320dad8aad7"
},
{
"url": "https://git.kernel.org/stable/c/c608748607620f331196ed0ba9fe4017892c1457"
}
],
"title": "mm/damon/core: handle region split failure in apply_min_nr_regions()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-90004",
"datePublished": "2026-09-16T10:33:14.085Z",
"dateReserved": "2026-09-11T19:38:34.780Z",
"dateUpdated": "2026-10-19T08:56:18.224Z",
"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…