CVE-2026-72277 (GCVE-0-2026-72277)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:54 – Updated: 2026-08-17 05:42
VLAI
Title
KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Inject SEA if guest VNCR isn't normal memory When constructing an L1 VNCR mapping, KVM unconditionally uses cacheable memory attributes, even if the underlying PFN isn't memory. This gets particularly hairy if the endpoint doesn't support cacheable memory attributes, potentially throwing an SError on writeback... While KVM does permit cacheable memory attributes on certain PFNMAP VMAs, kvm_translate_vncr() isn't currently grabbing the VMA. So do the simpler thing for now and just reject everything that isn't memory.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 2a359e072596fcb2e9e85017a865e3618a2fe5b5 , < d5436e18e4fc2886ac306304d884ea3b92e1edbf (git)
Affected: 2a359e072596fcb2e9e85017a865e3618a2fe5b5 , < bc00e0e376ee3572f5d26c174473abef1e35decc (git)
Affected: 2a359e072596fcb2e9e85017a865e3618a2fe5b5 , < 4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.16
Unaffected: 0 , < 6.16 (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/arm64/kvm/nested.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d5436e18e4fc2886ac306304d884ea3b92e1edbf",
              "status": "affected",
              "version": "2a359e072596fcb2e9e85017a865e3618a2fe5b5",
              "versionType": "git"
            },
            {
              "lessThan": "bc00e0e376ee3572f5d26c174473abef1e35decc",
              "status": "affected",
              "version": "2a359e072596fcb2e9e85017a865e3618a2fe5b5",
              "versionType": "git"
            },
            {
              "lessThan": "4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6",
              "status": "affected",
              "version": "2a359e072596fcb2e9e85017a865e3618a2fe5b5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/arm64/kvm/nested.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.16"
            },
            {
              "lessThan": "6.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "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": "6.18.40",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: arm64: nv: Inject SEA if guest VNCR isn\u0027t normal memory\n\nWhen constructing an L1 VNCR mapping, KVM unconditionally uses cacheable\nmemory attributes, even if the underlying PFN isn\u0027t memory. This gets\nparticularly hairy if the endpoint doesn\u0027t support cacheable memory\nattributes, potentially throwing an SError on writeback...\n\nWhile KVM does permit cacheable memory attributes on certain PFNMAP\nVMAs, kvm_translate_vncr() isn\u0027t currently grabbing the VMA. So do the\nsimpler thing for now and just reject everything that isn\u0027t memory."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.3,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only when an arm64 nested-KVM L1 hypervisor triggers VNCR_EL2 data aborts (ESR_ELx_EC_DABT_CUR with ESR_ELx_VNCR) during KVM_RUN, handled via kvm_handle_vncr_abort(); no network, adjacent-radio, or physical-device path reaches this code.\nAC:L - An attacker controlling an L1 nested-hypervisor VM can set VNCR_EL2 and guest EL2 page tables to point VNCR at non-RAM guest physical addresses (e.g. VFIO/MMIO passthrough) and reliably trigger VNCR translation faults; nested virt on arm64 cloud hosts is an attacker-selectable deployment, not an uncontrollable condition.\nPR:N - Exploitation requires no host root or init-namespace capabilities beyond running hypervisor code in a tenant KVM guest on an arm64 host with nested virtualization enabled; the attacker operates entirely from within their assigned VM, consistent with other arm64 KVM nested-virt CVE scoring.\nUI:N - No victim user or administrator action is required beyond the attacker operating their own nested-virtualization workload; VNCR faults, page-table configuration, and fixmap establishment are fully attacker-driven from within the guest.\nS:C - Guest-controlled VNCR_EL2 mappings cause host KVM to create per-CPU EL2 fixmap aliases with cacheable kernel attributes to attacker-chosen non-RAM physical pages, crossing the guest-to-hypervisor security boundary and impacting host kernel integrity and availability beyond the guest\u0027s intended authority.\nC:H - Before the fix, kvm_map_l1_vncr() mapped non-memory PFNs via __set_fixmap() with PAGE_KERNEL/PAGE_KERNEL_RO, letting the host hypervisor read attacker-selected physical addresses (device/MMIO or other non-RAM PFNs) through kernel virtual addresses during VNCR register emulation, providing an information-disclosure primitive across the isolation boundary.\nI:H - The same writable cacheable fixmap mapping gives the host kernel write access to attacker-chosen non-RAM physical pages; combined with incorrect cacheable attributes on endpoints that reject them, this can corrupt device/MMIO state and trigger uncontained host SErrors, constituting arbitrary physical write impact beyond guest scope.\nA:H - Mapping non-memory PFNs with cacheable attributes can provoke Synchronous External Abort/SError on cache maintenance or writeback; on arm64 these commonly escalate to arm64_serror_panic()/nmi_panic(), crashing the host and denying service to all co-resident VMs and workloads."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:42:12.724Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d5436e18e4fc2886ac306304d884ea3b92e1edbf"
        },
        {
          "url": "https://git.kernel.org/stable/c/bc00e0e376ee3572f5d26c174473abef1e35decc"
        },
        {
          "url": "https://git.kernel.org/stable/c/4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6"
        }
      ],
      "title": "KVM: arm64: nv: Inject SEA if guest VNCR isn\u0027t normal memory",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72277",
    "datePublished": "2026-08-15T05:54:59.022Z",
    "dateReserved": "2026-08-09T03:40:39.916Z",
    "dateUpdated": "2026-08-17T05:42:12.724Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72277",
      "date": "2026-08-19",
      "epss": "0.00194",
      "percentile": "0.09415"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72277\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:21:57.750\",\"lastModified\":\"2026-08-17T06:18:30.240\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nKVM: arm64: nv: Inject SEA if guest VNCR isn\u0027t normal memory\\n\\nWhen constructing an L1 VNCR mapping, KVM unconditionally uses cacheable\\nmemory attributes, even if the underlying PFN isn\u0027t memory. This gets\\nparticularly hairy if the endpoint doesn\u0027t support cacheable memory\\nattributes, potentially throwing an SError on writeback...\\n\\nWhile KVM does permit cacheable memory attributes on certain PFNMAP\\nVMAs, kvm_translate_vncr() isn\u0027t currently grabbing the VMA. So do the\\nsimpler thing for now and just reject everything that isn\u0027t memory.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"arch/arm64/kvm/nested.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"2a359e072596fcb2e9e85017a865e3618a2fe5b5\",\"lessThan\":\"d5436e18e4fc2886ac306304d884ea3b92e1edbf\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2a359e072596fcb2e9e85017a865e3618a2fe5b5\",\"lessThan\":\"bc00e0e376ee3572f5d26c174473abef1e35decc\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2a359e072596fcb2e9e85017a865e3618a2fe5b5\",\"lessThan\":\"4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"arch/arm64/kvm/nested.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.16\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.16\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.40\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":9.3,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.5,\"impactScore\":6.0}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4bd7dbe0b2243e6aa735cae4d5e1ff988b30b2a6\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bc00e0e376ee3572f5d26c174473abef1e35decc\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d5436e18e4fc2886ac306304d884ea3b92e1edbf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-17T15:28:51+00:00",
      "cve": "CVE-2026-72277",
      "id": "CVE-2026-72277",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: KVM: arm64: nv: Inject SEA if guest VNCR isn\u0027t normal memory",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72277.json",
      "version": "3"
    }
  }
}



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…

Loading…