GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

FKIE_CVE-2026-90004

Vulnerability from fkie_nvd - Published: 2026-09-16 11:17 - Updated: 2026-09-16 11:17
Severity
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.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "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-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "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."
    }
  ],
  "id": "CVE-2026-90004",
  "lastModified": "2026-09-16T11:17:12.997",
  "metrics": {},
  "published": "2026-09-16T11:17:12.997",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/463ebd63e8ee3d73022a18915ea43320dad8aad7"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/c608748607620f331196ed0ba9fe4017892c1457"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…