← Back to CVE Explorer

CVE-2026-68081

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: KVM: nVMX: Put vmcs12 pages if nested VM-Enter fails due to invalid guest state Put all vmcs12 pages if KVM synthesizes a nested VM-Exit due to invalid guest while emulating VMLAUNCH or VMRESUME. The invalid guest state path doesn't use nested_vmx_vmexit() as that API is intended to be used if and only if L2 is active, and the open coded equivalent neglects to put the vmcs12 pages. Failure to put the vmcs12 pages leaks any pinned pages (and/or mappings) if L1 retries VMLAUNCH/VMRESUME. Note, the !from_vmenter scenario doesn't suffer the same problem, as vmx_get_nested_state_pages() only gets/pins/maps the vmcs12 pages if L2 is active, i.e. if a "full" VM-Exit is guaranteed before KVM will retry getting vmcs12 pages.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-08-08 10:16:54.580000
Last modified
2026-10-30 13:19:39.073000
View original CVE JSON
{
  "id": "CVE-2026-68081",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-08-08T10:16:54.580",
  "lastModified": "2026-10-30T13:19:39.073",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: nVMX: Put vmcs12 pages if nested VM-Enter fails due to invalid guest state\n\nPut all vmcs12 pages if KVM synthesizes a nested VM-Exit due to invalid\nguest while emulating VMLAUNCH or VMRESUME.  The invalid guest state path\ndoesn't use nested_vmx_vmexit() as that API is intended to be used if and\nonly if L2 is active, and the open coded equivalent neglects to put the\nvmcs12 pages.  Failure to put the vmcs12 pages leaks any pinned pages\n(and/or mappings) if L1 retries VMLAUNCH/VMRESUME.\n\nNote, the !from_vmenter scenario doesn't suffer the same problem, as\nvmx_get_nested_state_pages() only gets/pins/maps the vmcs12 pages if L2 is\nactive, i.e. if a \"full\" VM-Exit is guaranteed before KVM will retry\ngetting vmcs12 pages."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "arch/x86/kvm/vmx/nested.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "c174eb76484786721ae9a104344b952acf0e2717",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "a7bf4f5b19965e4466040ad6b24919c1ed326a84",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "f42669f931a6f45e5918cf5e99989b9a6c65e655",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "7996013b85687034d2e820cef94d6404192e3a3d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "2c87a087c20632d68920272173b5d7c47f9bcf70",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "96c66e87deeeb3cc78a3b82a1de8e365eec206c1",
              "lessThan": "2f2312c422fd2695da772cecb30c69994b795964",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "arch/x86/kvm/vmx/nested.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.2",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.2",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.191",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.114",
              "lessThanOrEqual": "6.12.*",
              "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": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2c87a087c20632d68920272173b5d7c47f9bcf70",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2f2312c422fd2695da772cecb30c69994b795964",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7996013b85687034d2e820cef94d6404192e3a3d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a7bf4f5b19965e4466040ad6b24919c1ed326a84",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c174eb76484786721ae9a104344b952acf0e2717",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f42669f931a6f45e5918cf5e99989b9a6c65e655",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}