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

CVE-2026-72239 (GCVE-0-2026-72239)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:54 – Updated: 2026-08-17 05:41
VLAI
Title
x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"
Summary
In the Linux kernel, the following vulnerability has been resolved: x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN" Revert 99cf1fb58e68 ("x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"). Section 8.8 of the SNP spec says: Before invoking SNP_INIT_EX with INIT_RMP set to 1, software must ensure that no CPUs contain dirty cache lines for the memory containing the RMP. Cachelines can be moved from cache to cache in a dirty state. The wbinvd_on_all_cpus() before SNP_INIT_EX flushes the caches for each CPU, but if the IPIs for WBINVD race with this dirty cacheline movement, it is possible that they may not get flushed, violating the firmware requirement. Doing wbinvd_on_all_cpus() before setting SNPEn is safer since the RMP table is not yet in use. [ Heroically bisected by Srikanth. ] [ bp: Massage commit message. ]
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 99cf1fb58e68291d408b4c4484181cf88f081857 , < e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d (git)
Affected: 99cf1fb58e68291d408b4c4484181cf88f081857 , < 4c2509f3b79756679a02bea649c6a7501b58f52c (git)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (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/x86/virt/svm/sev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d",
              "status": "affected",
              "version": "99cf1fb58e68291d408b4c4484181cf88f081857",
              "versionType": "git"
            },
            {
              "lessThan": "4c2509f3b79756679a02bea649c6a7501b58f52c",
              "status": "affected",
              "version": "99cf1fb58e68291d408b4c4484181cf88f081857",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/virt/svm/sev.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.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": "7.1.5",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nx86/virt/sev: Revert \"Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\"\n\nRevert\n\n  99cf1fb58e68 (\"x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\").\n\nSection 8.8 of the SNP spec says:\n\n  Before invoking SNP_INIT_EX with INIT_RMP set to 1, software must ensure\n  that no CPUs contain dirty cache lines for the memory containing the RMP.\n\nCachelines can be moved from cache to cache in a dirty state. The\nwbinvd_on_all_cpus() before SNP_INIT_EX flushes the caches for each CPU, but\nif the IPIs for WBINVD race with this dirty cacheline movement, it is possible\nthat they may not get flushed, violating the firmware requirement.\n\nDoing wbinvd_on_all_cpus() before setting SNPEn is safer since the RMP\ntable is not yet in use.\n\n  [ Heroically bisected by Srikanth. ]\n  [ bp: Massage commit message. ]"
        }
      ],
      "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 flaw is in host-side SNP platform initialization via snp_prepare(), reached only during local boot-time KVM/SEV setup or privileged KVM_SEV_INIT/ioctl paths on /dev/kvm and /dev/sev, not from any network-facing handler.\nAC:L - The missing pre-SNPEn WBINVD creates a race where later WBINVD IPIs can miss dirty RMP cachelines; an attacker who can drive concurrent CPU/cache activity during init can influence this timing, and when uncertain we choose Low.\nPR:N - On typical SEV-SNP cloud hosts SNP init runs automatically at boot, so a malicious confidential VM tenant needs no host privileges to exploit latent incorrect RMP state that breaks guest/host memory isolation.\nUI:N - Exploitation does not require any victim user action such as opening files or mounting filesystems; the vulnerable initialization runs during host boot or privileged hypervisor setup without end-user interaction.\nS:C - Corrupt or inconsistent RMP initialization undermines the SEV-SNP memory-isolation boundary between confidential guests and the hypervisor, enabling cross-boundary impact beyond the initializing kernel component\u0027s security scope.\nC:H - Incorrect RMP table state from unflushed dirty cachelines can break private/shared page tracking and allow unauthorized reads of host or other guest memory across the confidentiality boundary on affected AMD SEV-SNP systems.\nI:H - RMP metadata corruption can mislabel page ownership and permissions, potentially permitting unauthorized writes or guest-controlled modification of hypervisor memory and enabling further compromise of the isolation model.\nA:H - Violating RMP initialization requirements can trigger fatal RMP faults (#PF) that crash the host kernel, and SNP init failures or inconsistent RMP state can deny availability of confidential VM services."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:41:54.072Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c2509f3b79756679a02bea649c6a7501b58f52c"
        }
      ],
      "title": "x86/virt/sev: Revert \"Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\"",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72239",
    "datePublished": "2026-08-15T05:54:28.166Z",
    "dateReserved": "2026-08-09T03:40:39.914Z",
    "dateUpdated": "2026-08-17T05:41:54.072Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72239",
      "date": "2026-09-04",
      "epss": "0.00168",
      "percentile": "0.06275"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72239\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:21:50.970\",\"lastModified\":\"2026-08-17T06:18:25.467\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nx86/virt/sev: Revert \\\"Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\\\"\\n\\nRevert\\n\\n  99cf1fb58e68 (\\\"x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\\\").\\n\\nSection 8.8 of the SNP spec says:\\n\\n  Before invoking SNP_INIT_EX with INIT_RMP set to 1, software must ensure\\n  that no CPUs contain dirty cache lines for the memory containing the RMP.\\n\\nCachelines can be moved from cache to cache in a dirty state. The\\nwbinvd_on_all_cpus() before SNP_INIT_EX flushes the caches for each CPU, but\\nif the IPIs for WBINVD race with this dirty cacheline movement, it is possible\\nthat they may not get flushed, violating the firmware requirement.\\n\\nDoing wbinvd_on_all_cpus() before setting SNPEn is safer since the RMP\\ntable is not yet in use.\\n\\n  [ Heroically bisected by Srikanth. ]\\n  [ bp: Massage commit message. ]\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"arch/x86/virt/svm/sev.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"99cf1fb58e68291d408b4c4484181cf88f081857\",\"lessThan\":\"e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"99cf1fb58e68291d408b4c4484181cf88f081857\",\"lessThan\":\"4c2509f3b79756679a02bea649c6a7501b58f52c\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"arch/x86/virt/svm/sev.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"7.1\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"7.1\",\"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/4c2509f3b79756679a02bea649c6a7501b58f52c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T17:32:59+00:00",
      "cve": "CVE-2026-72239",
      "id": "CVE-2026-72239",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: x86/virt/sev: Revert \"Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN\"",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72239.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…