CVE-2021-46977 (GCVE-0-2021-46977)

Vulnerability from cvelistv5 – Published: 2024-02-28 08:13 – Updated: 2026-08-05 08:45
VLAI
Title
KVM: VMX: Disable preemption when probing user return MSRs
Summary
In the Linux kernel, the following vulnerability has been resolved: KVM: VMX: Disable preemption when probing user return MSRs Disable preemption when probing a user return MSR via RDSMR/WRMSR. If the MSR holds a different value per logical CPU, the WRMSR could corrupt the host's value if KVM is preempted between the RDMSR and WRMSR, and then rescheduled on a different CPU. Opportunistically land the helper in common x86, SVM will use the helper in a future commit.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-06-21 16:27 UTC
Assigner
Linux CNA under the mitre root
CNA scorecard D 53/100 over 6992 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 4be5341026246870818e28b53202b001426a5aec , < 31f29749ee970c251b3a7e5b914108425940d089 (git)
Affected: 4be5341026246870818e28b53202b001426a5aec , < 5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94 (git)
Affected: 4be5341026246870818e28b53202b001426a5aec , < e3ea1895df719c4ef87862501bb10d95f4177bed (git)
Affected: 4be5341026246870818e28b53202b001426a5aec , < 5104d7ffcf24749939bea7fdb5378d186473f890 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.5
Unaffected: 0 , < 5.5 (semver)
Unaffected: 5.10.38 , ≤ 5.10.* (semver)
Unaffected: 5.11.22 , ≤ 5.11.* (semver)
Unaffected: 5.12.5 , ≤ 5.12.* (semver)
Unaffected: 5.13 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2021-46977",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-06-21T16:27:41.559362Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-21T16:27:50.764Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T05:24:38.401Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/include/asm/kvm_host.h",
            "arch/x86/kvm/vmx/vmx.c",
            "arch/x86/kvm/x86.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "31f29749ee970c251b3a7e5b914108425940d089",
              "status": "affected",
              "version": "4be5341026246870818e28b53202b001426a5aec",
              "versionType": "git"
            },
            {
              "lessThan": "5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94",
              "status": "affected",
              "version": "4be5341026246870818e28b53202b001426a5aec",
              "versionType": "git"
            },
            {
              "lessThan": "e3ea1895df719c4ef87862501bb10d95f4177bed",
              "status": "affected",
              "version": "4be5341026246870818e28b53202b001426a5aec",
              "versionType": "git"
            },
            {
              "lessThan": "5104d7ffcf24749939bea7fdb5378d186473f890",
              "status": "affected",
              "version": "4be5341026246870818e28b53202b001426a5aec",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/include/asm/kvm_host.h",
            "arch/x86/kvm/vmx/vmx.c",
            "arch/x86/kvm/x86.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.5"
            },
            {
              "lessThan": "5.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.38",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.11.*",
              "status": "unaffected",
              "version": "5.11.22",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.12.*",
              "status": "unaffected",
              "version": "5.12.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.38",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.11.22",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.12.5",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.13",
                  "versionStartIncluding": "5.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: VMX: Disable preemption when probing user return MSRs\n\nDisable preemption when probing a user return MSR via RDSMR/WRMSR.  If\nthe MSR holds a different value per logical CPU, the WRMSR could corrupt\nthe host\u0027s value if KVM is preempted between the RDMSR and WRMSR, and\nthen rescheduled on a different CPU.\n\nOpportunistically land the helper in common x86, SVM will use the helper\nin a future commit."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable probe runs during KVM_CREATE_VCPU in vmx_create_vcpu, reachable only via local /dev/kvm ioctls (KVM_CREATE_VM then KVM_CREATE_VCPU), not from network packets or guest-only operations.\nAC:L - An attacker with KVM access can repeatedly create vCPUs while running concurrent vCPU threads and forcing migrations via affinity/load, so they can drive both the probe and the conditions that leave differing MSR values on CPUs; success does not depend on a victim-controlled state.\nPR:L - The kernel imposes no capability check on /dev/kvm; access is only file permission based, and common deployments (kvm group, nested virt, crosvm) grant this to unprivileged users, so root/admin is not required.\nUI:N - Exploitation requires only attacker-issued KVM ioctls; no separate victim action such as mounting a filesystem or opening a crafted file is needed.\nS:U - The attacker is already host userspace with KVM access; impact remains under the host kernel authority rather than a guest-to-host escape across a VM boundary.\nC:H - User-return MSRs (including LSTAR/TSC_AUX) can still hold guest values while kernel code runs, and the probe\u0027s raw WRMSR bypasses user-return tracking, so attacker-controlled guest MSR contents can be planted on another host CPU and enable SYSCALL-path hijacking and arbitrary host memory disclosure.\nI:H - Planting attacker-influenced syscall MSRs (especially LSTAR) onto a host CPU redirects subsequent host SYSCALL entry, which is exploitable for control-flow hijacking and arbitrary host integrity compromise beyond a simple per-CPU TSC_AUX mixup.\nA:H - Corrupting host user-return MSRs (wrong LSTAR/STAR/TSC_AUX) reliably breaks host syscall handling or CPU identity and can cause kernel oopses, panics, or hard system failure on the affected CPU."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:45:21.421Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
        },
        {
          "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
        },
        {
          "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
        },
        {
          "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
        }
      ],
      "title": "KVM: VMX: Disable preemption when probing user return MSRs",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2021-46977",
    "datePublished": "2024-02-28T08:13:08.489Z",
    "dateReserved": "2024-02-27T18:42:55.944Z",
    "dateUpdated": "2026-08-05T08:45:21.421Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2021-46977",
      "date": "2026-10-20",
      "epss": "0.00243",
      "percentile": "0.14552"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/include/asm/kvm_host.h",
                  "arch/x86/kvm/vmx/vmx.c",
                  "arch/x86/kvm/x86.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "31f29749ee970c251b3a7e5b914108425940d089",
                    "status": "affected",
                    "version": "4be5341026246870818e28b53202b001426a5aec",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94",
                    "status": "affected",
                    "version": "4be5341026246870818e28b53202b001426a5aec",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e3ea1895df719c4ef87862501bb10d95f4177bed",
                    "status": "affected",
                    "version": "4be5341026246870818e28b53202b001426a5aec",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5104d7ffcf24749939bea7fdb5378d186473f890",
                    "status": "affected",
                    "version": "4be5341026246870818e28b53202b001426a5aec",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/include/asm/kvm_host.h",
                  "arch/x86/kvm/vmx/vmx.c",
                  "arch/x86/kvm/x86.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.5"
                  },
                  {
                    "lessThan": "5.5",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.38",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.11.*",
                    "status": "unaffected",
                    "version": "5.11.22",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.12.*",
                    "status": "unaffected",
                    "version": "5.12.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "5.13",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "2BB4E5E8-4AAD-475A-A1B9-F287254C7D72",
                    "versionEndExcluding": "5.10.38",
                    "versionStartIncluding": "5.5",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "83B53E9A-F426-4C03-9A5F-A931FF79827E",
                    "versionEndExcluding": "5.11.22",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "0274929A-B36C-4F4C-AB22-30A0DD6B995B",
                    "versionEndExcluding": "5.12.5",
                    "versionStartIncluding": "5.12",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "0CBAD0FC-C281-4666-AB2F-F8E6E1165DF7",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: VMX: Disable preemption when probing user return MSRs\n\nDisable preemption when probing a user return MSR via RDSMR/WRMSR.  If\nthe MSR holds a different value per logical CPU, the WRMSR could corrupt\nthe host\u0027s value if KVM is preempted between the RDMSR and WRMSR, and\nthen rescheduled on a different CPU.\n\nOpportunistically land the helper in common x86, SVM will use the helper\nin a future commit."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: KVM: VMX: deshabilite la preferencia al sondear los MSR devueltos por el usuario. Deshabilite la preferencia al sondear el MSR devuelto por un usuario a trav\u00e9s de RDSMR/WRMSR. Si MSR tiene un valor diferente por CPU l\u00f3gica, WRMSR podr\u00eda da\u00f1ar el valor del host si KVM se adelanta entre RDMSR y WRMSR y luego se reprograma en una CPU diferente. De manera oportunista, coloque el asistente en x86 com\u00fan, SVM usar\u00e1 el asistente en una confirmaci\u00f3n futura."
          }
        ],
        "id": "CVE-2021-46977",
        "lastModified": "2026-08-04T10:16:39.493",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2021-46977",
                "options": [
                  {
                    "exploitation": "none"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-06-21T16:27:41.559362Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2024-02-28T09:15:37.140",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
          },
          {
            "source": "af854a3a-2127-422b-91ae-364da2661108",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T21:37:58+00:00",
      "cve": "CVE-2021-46977",
      "id": "CVE-2021-46977",
      "initial_release_date": "2021-01-01T00:00:00+00:00",
      "product_status:known_affected": "42",
      "product_status:known_not_affected": "156",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: KVM: VMX: Disable preemption when probing user return MSRs",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-46977.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-04T05:24:38.401Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
              }
            ],
            "title": "CVE Program Container"
          },
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2021-46977",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-06-21T16:27:41.559362Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-06-21T16:27:46.953Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "product": "Linux",
              "programFiles": [
                "arch/x86/include/asm/kvm_host.h",
                "arch/x86/kvm/vmx/vmx.c",
                "arch/x86/kvm/x86.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "lessThan": "31f29749ee970c251b3a7e5b914108425940d089",
                  "status": "affected",
                  "version": "4be5341026246870818e28b53202b001426a5aec",
                  "versionType": "git"
                },
                {
                  "lessThan": "5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94",
                  "status": "affected",
                  "version": "4be5341026246870818e28b53202b001426a5aec",
                  "versionType": "git"
                },
                {
                  "lessThan": "e3ea1895df719c4ef87862501bb10d95f4177bed",
                  "status": "affected",
                  "version": "4be5341026246870818e28b53202b001426a5aec",
                  "versionType": "git"
                },
                {
                  "lessThan": "5104d7ffcf24749939bea7fdb5378d186473f890",
                  "status": "affected",
                  "version": "4be5341026246870818e28b53202b001426a5aec",
                  "versionType": "git"
                }
              ]
            },
            {
              "defaultStatus": "affected",
              "product": "Linux",
              "programFiles": [
                "arch/x86/include/asm/kvm_host.h",
                "arch/x86/kvm/vmx/vmx.c",
                "arch/x86/kvm/x86.c"
              ],
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "vendor": "Linux",
              "versions": [
                {
                  "status": "affected",
                  "version": "5.5"
                },
                {
                  "lessThan": "5.5",
                  "status": "unaffected",
                  "version": "0",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.10.*",
                  "status": "unaffected",
                  "version": "5.10.38",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.11.*",
                  "status": "unaffected",
                  "version": "5.11.22",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "5.12.*",
                  "status": "unaffected",
                  "version": "5.12.5",
                  "versionType": "semver"
                },
                {
                  "lessThanOrEqual": "*",
                  "status": "unaffected",
                  "version": "5.13",
                  "versionType": "original_commit_for_fix"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.10.38",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.11.22",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.12.5",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "5.13",
                      "versionStartIncluding": "5.5",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: VMX: Disable preemption when probing user return MSRs\n\nDisable preemption when probing a user return MSR via RDSMR/WRMSR.  If\nthe MSR holds a different value per logical CPU, the WRMSR could corrupt\nthe host\u0027s value if KVM is preempted between the RDMSR and WRMSR, and\nthen rescheduled on a different CPU.\n\nOpportunistically land the helper in common x86, SVM will use the helper\nin a future commit."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "scenarios": [
                {
                  "lang": "en",
                  "value": "AV:L - The vulnerable probe runs during KVM_CREATE_VCPU in vmx_create_vcpu, reachable only via local /dev/kvm ioctls (KVM_CREATE_VM then KVM_CREATE_VCPU), not from network packets or guest-only operations.\nAC:L - An attacker with KVM access can repeatedly create vCPUs while running concurrent vCPU threads and forcing migrations via affinity/load, so they can drive both the probe and the conditions that leave differing MSR values on CPUs; success does not depend on a victim-controlled state.\nPR:L - The kernel imposes no capability check on /dev/kvm; access is only file permission based, and common deployments (kvm group, nested virt, crosvm) grant this to unprivileged users, so root/admin is not required.\nUI:N - Exploitation requires only attacker-issued KVM ioctls; no separate victim action such as mounting a filesystem or opening a crafted file is needed.\nS:U - The attacker is already host userspace with KVM access; impact remains under the host kernel authority rather than a guest-to-host escape across a VM boundary.\nC:H - User-return MSRs (including LSTAR/TSC_AUX) can still hold guest values while kernel code runs, and the probe\u0027s raw WRMSR bypasses user-return tracking, so attacker-controlled guest MSR contents can be planted on another host CPU and enable SYSCALL-path hijacking and arbitrary host memory disclosure.\nI:H - Planting attacker-influenced syscall MSRs (especially LSTAR) onto a host CPU redirects subsequent host SYSCALL entry, which is exploitable for control-flow hijacking and arbitrary host integrity compromise beyond a simple per-CPU TSC_AUX mixup.\nA:H - Corrupting host user-return MSRs (wrong LSTAR/STAR/TSC_AUX) reliably breaks host syscall handling or CPU identity and can cause kernel oopses, panics, or hard system failure on the affected CPU."
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-05T08:45:21.421Z",
            "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "shortName": "Linux"
          },
          "references": [
            {
              "url": "https://git.kernel.org/stable/c/31f29749ee970c251b3a7e5b914108425940d089"
            },
            {
              "url": "https://git.kernel.org/stable/c/5adcdeb57007ccf8ab7ac20bf787ffb6fafb1a94"
            },
            {
              "url": "https://git.kernel.org/stable/c/e3ea1895df719c4ef87862501bb10d95f4177bed"
            },
            {
              "url": "https://git.kernel.org/stable/c/5104d7ffcf24749939bea7fdb5378d186473f890"
            }
          ],
          "title": "KVM: VMX: Disable preemption when probing user return MSRs",
          "x_generator": {
            "engine": "bippy-1.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "assignerShortName": "Linux",
        "cveId": "CVE-2021-46977",
        "datePublished": "2024-02-28T08:13:08.489Z",
        "dateReserved": "2024-02-27T18:42:55.944Z",
        "dateUpdated": "2026-08-05T08:45:21.421Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

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.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.