← Back to CVE Explorer

CVE-2026-98718

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Do cache maintenance on the source VM *before* clearing SEV state Explicitly flush caches after intra-host migration before clearing "SEV active" on the source VM, as doing cache maintenance afterwards creates a tiny window where memory reclaim could return memory to the host without performing a cache flush, e.g. as pointed out by Sashiko: CPU1 in sev_migrate_from(): src->active = false; CPU2 running concurrent unmap: Since active is false, the automatic cache flush in sev_guest_memory_reclaimed is skipped. The host frees and reallocates the page. CPU1 in sev_migrate_from(): sev_writeback_caches(src_kvm); Executes a hardware cache flush (wbnoinvd), which writes the guest's old dirty ciphertext over the new page owner's data.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:25.363000
Last modified
2026-10-19 10:19:36.047000
View original CVE JSON
{
  "id": "CVE-2026-98718",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:25.363",
  "lastModified": "2026-10-19T10:19:36.047",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: SEV: Do cache maintenance on the source VM *before* clearing SEV state\n\nExplicitly flush caches after intra-host migration before clearing \"SEV\nactive\" on the source VM, as doing cache maintenance afterwards creates a\ntiny window where memory reclaim could return memory to the host without\nperforming a cache flush, e.g. as pointed out by Sashiko:\n\n  CPU1 in sev_migrate_from():\n    src->active = false;\n\n  CPU2 running concurrent unmap:\n    Since active is false, the automatic cache flush in\n    sev_guest_memory_reclaimed is skipped.\n    The host frees and reallocates the page.\n\n  CPU1 in sev_migrate_from():\n    sev_writeback_caches(src_kvm);\n    Executes a hardware cache flush (wbnoinvd), which writes the guest's old\n    dirty ciphertext over the new page owner's data."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "arch/x86/kvm/svm/sev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "37dfb676fafd1eef36fe0bb649607afbb0d5521b",
              "lessThan": "8b7d4f68fef96cebe0b6dbb6e5607772337f7369",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d4cc2dff12116a700add601c0262132cc26e1b2c",
              "lessThan": "de83ff6a4d8f3618473bedb3c4400020c22e8a8a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "93de2a6a4b91b72607136dd656edf03fb399d27f",
              "lessThan": "973ea70393e885e540f714904e51bc6cac80e3d7",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "arch/x86/kvm/svm/sev.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.18.55",
              "lessThan": "6.18.56",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "7.2.9",
              "lessThan": "7.2.10",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/8b7d4f68fef96cebe0b6dbb6e5607772337f7369",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/973ea70393e885e540f714904e51bc6cac80e3d7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/de83ff6a4d8f3618473bedb3c4400020c22e8a8a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}