Skip to content
Heist/ feed
Back to feed
HighFix available

KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status Check kvm_mmu_page_ad_need_write_protect() when deciding whether to write-protect or clear D-bits on TDP MMU SPTEs, so that the TDP MMU accounts for any role-specific reasons for disabling D-bit dirty logging. Specifically, TDP MMU SPTEs must be write-protected when the TDP MMU is being used to run an L2 (i.e. L1 has disabled EPT) and PML is enabled. KVM always disables PML when running L2, even when L1 and L2 GPAs are in the some domain, so failing to write-protect TDP MMU SPTEs will cause writes made by L2 to not be reflected in the dirty log. [sean: massage shortlog and changelog, tweak ternary op formatting]

Products
Kernel
Affected versions
Not specified
Fixed versions
6.6.29, 6.8.8
CVEs
CVE-2024-26990
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 05:22 UTC · Revision 1

Source evidence

KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status

core-osv · Original source

Published 1 May 2024, 05:27 UTC

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status Check kvm_mmu_page_ad_need_write_protect() when deciding whether to write-protect or clear D-bits on TDP MMU SPTEs, so that the TDP MMU accounts for any role-specific reasons for disabling D-bit dirty logging. Specifically, TDP MMU SPTEs must be write-protected when the TDP MMU is being used to run an L2 (i.e. L1 has disabled EPT) and PML is enabled. KVM always disables PML when running L2, even when L1 and L2 GPAs are in the some domain, so failing to write-protect TDP MMU SPTEs will cause writes made by L2 to not be reflected in the dirty log. [sean: massage shortlog and changelog, tweak ternary op formatting]

osv:CVE-2024-26990

Kernel

Fixed versions: 6.6.29, 6.8.8

Complete source record
{
  "id": "e04c0db1029939b6c17fe46bdfaca3a310f957f9a16db86e04e1042ec5fc7c74",
  "url": "https://osv.dev/vulnerability/CVE-2024-26990",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status Check kvm_mmu_page_ad_need_write_protect() when deciding whether to write-protect or clear D-bits on TDP MMU SPTEs, so that the TDP MMU accounts for any role-specific reasons for disabling D-bit dirty logging. Specifically, TDP MMU SPTEs must be write-protected when the TDP MMU is being used to run an L2 (i.e. L1 has disabled EPT) and PML is enabled. KVM always disables PML when running L2, even when L1 and L2 GPAs are in the some domain, so failing to write-protect TDP MMU SPTEs will cause writes made by L2 to not be reflected in the dirty log. [sean: massage shortlog and changelog, tweak ternary op formatting]",
    "evidence": "osv:CVE-2024-26990",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.6.29",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.8.8",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-26990",
      "aliases": [
        "CVE-2024-26990"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5982a5392663b30f57ee90b0372c19a7e9cb655a"
                },
                {
                  "fixed": "cdf811a937471af2d1facdf8ae80e5e68096f1ed"
                },
                {
                  "fixed": "e20bff0f1b2de9cfe303dd35ff46470104a87404"
                },
                {
                  "fixed": "2673dfb591a359c75080dd5af3da484b89320d22"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26990.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.4.0"
                },
                {
                  "fixed": "6.6.29"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.8.8"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26990.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.959567823Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/2673dfb591a359c75080dd5af3da484b89320d22",
        "https://git.kernel.org/stable/c/cdf811a937471af2d1facdf8ae80e5e68096f1ed",
        "https://git.kernel.org/stable/c/e20bff0f1b2de9cfe303dd35ff46470104a87404",
        "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4EZ6PJW7VOZ224TD7N4JZNU6KV32ZJ53/",
        "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DAMSOZXJEPUOXW33WZYWCVAY7Z5S7OOY/",
        "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GCBZZEC7L7KTWWAS2NLJK6SO3IZIL4WW/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26990.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-26990",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/26xxx/CVE-2024-26990.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-26990",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 510680,
  "published_at": "2024-05-01T05:27:48.81+00:00"
}