Skip to content
Heist/ feed
High

mm/pagewalk: fix stale walk->action escaping walk_pmd_range()

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: mm/pagewalk: fix stale walk->action escaping walk_pmd_range() If ->pmd_entry() sets walk->action = ACTION_AGAIN, the pmd_none() check is retried. The PMD entry may be cleared at the point of retry. In this case, if walk->ops->install_pte is not specified, the code continues to the next PMD entry in the range without resetting walk->action to ACTION_SUBTREE. This leaves walk->action erroneously set to ACTION_AGAIN, which is incorrect. This was incorrect but not problematic up until commit 3b89863c3fa4 ("mm/pagewalk: fix race between concurrent split and refault") which updated walk_pud_range() to check for walk->action == ACTION_AGAIN upon walk_pmd_range()'s return, causing the PUD walk to be retried. In this case this results in duplicate walk callbacks being invoked, which is erroneous and will break any caller that is not idempotent with respect to this (and waste time for those which are). The result is an out-of-bounds write, triggered by a local fuzzer: [ 2.272695] ================================================================== [ 2.273471] BUG: KASAN: slab-out-of-bounds in __mincore_unmapped_range+0x14f/0x190 [ 2.274302] Write of size 1 at addr ffff888008d9b000 by task poc/106 [ 2.274966] [ 2.275154] CPU: 0 UID: 1000 PID: 106 Comm: poc Not tainted 7.2.0-rc6-00429-ga7c7074b58d2 #55 PREEMPT(lazy) [ 2.275159] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-

Announced Source revision 1
Original source ↗

CVE-2026-89754

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-89754

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "38ec58670a0c5fc1edabdeccd857e586b7b3f318",
        "lessThan": "895cd4ecbb2e03d7583103c65ee5adaae126ed6d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3b89863c3fa482912911cd65a12a3aeef662c250",
        "lessThan": "c05cdc2ab365b98099386e6c166b9865a4f2a9d3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3b89863c3fa482912911cd65a12a3aeef662c250",
        "lessThan": "aedf2efd18977e0cef7eb963166e2b1fcc0aa321",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "9bbbebd94dd5be25ec8c899d46ef01b33d5d22c0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "6.18.21",
        "lessThan": "6.18.50",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "6.19.11",
        "lessThan": "6.20",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "mm/pagewalk.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "7.0"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "7.0",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.18.50",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.4",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "mm/pagewalk.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-89754

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#35228 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement