« Volver al listado

CVE-2026-72239

Estado: RecibidaCrítica (9.3)—

In the Linux kernel, the following vulnerability has been resolved:

x86/virt/sev: Revert "Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN"

Revert

Section 8.8 of the SNP spec says:

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.

Detalles técnicos trazas, registros y código del informe original
  99cf1fb58e68 ("x86/virt/sev: Drop WBINVD before setting MSR_AMD64_SYSCFG_SNP_EN").

  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.

  [ Heroically bisected by Srikanth. ]
  [ bp: Massage commit message. ]

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vulnerabilidad local de kernel (AV:L, PR:N, UI:N) que viola requisitos de firmware SNP permitiendo cachelines sucias; puede causar DoS o corrupción de memoria en sistemas AMD con SNP habilitado.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-72239",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 9.3,
          "attackVector": "LOCAL",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 6,
        "exploitabilityScore": 2.5
      }
    ]
  },
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "99cf1fb58e68291d408b4c4484181cf88f081857",
              "lessThan": "e5158ff53fdff9c229bf13aa5f75eb17cdcfcd2d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "99cf1fb58e68291d408b4c4484181cf88f081857",
              "lessThan": "4c2509f3b79756679a02bea649c6a7501b58f52c",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "arch/x86/virt/svm/sev.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.1"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.1",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "arch/x86/virt/svm/sev.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-08-15T06:21:50.970",
  "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"
    }
  ],
  "vulnStatus": "Received",
  "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. ]"
    }
  ],
  "lastModified": "2026-08-17T06:18:25.467",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}