CVE-2021-47277

HIGHNVD 7.17.1
EchelonGraph scoreMEDIUM confidence

Score 7.1 from GitHub Security Advisory (severity: HIGH) published 2024-05-21. NVD baseline CVSS 7.1; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
7.1EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.1Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

kvm: avoid speculation-based attacks from out-of-range memslot accesses

KVM's mechanism for accessing guest memory translates a guest physical address (gpa) to a host virtual address using the right-shifted gpa (also known as gfn) and a struct kvm_memory_slot. The translation is performed in __gfn_to_hva_memslot using the following formula:

hva = slot->userspace_addr + (gfn - slot->base_gfn) * PAGE_SIZE

It is expected that gfn falls within the boundaries of the guest's physical memory. However, a guest can access invalid physical addresses in such a way that the gfn is invalid.

__gfn_to_hva_memslot is called from kvm_vcpu_gfn_to_hva_prot, which first retrieves a memslot through __gfn_to_memslot. While __gfn_to_memslot does check that the gfn falls within the boundaries of the guest's physical memory or not, a CPU can speculate the result of the check and continue execution speculatively using an illegal gfn. The speculation can result in calculating an out-of-bounds hva. If the resulting host virtual address is used to load another guest physical address, this is effectively a Spectre gadget consisting of two consecutive reads, the second of which is data dependent on the first.

Right now it's not clear if there are any cases in which this is exploitable. One interesting case was reported by the original author of this patch, and involves visiting guest page tables on x86. Right now these are not vulnerable because the hva read goes through get_user(), which contains an LFENCE speculation barrier. However, there are patches in progress for x86 uaccess.h to mask kernel addresses instead of using LFENCE; once these land, a guest could use speculation to read from the VMM's ring 3 address space. Other architectures such as ARM already use the address masking method, and would be susceptible to this same kind of data-dependent access gadgets. Therefore, this patch proactively protects from these attacks by masking out-of-bounds gfns in __gfn_to_hva_memslot, which blocks speculation of invalid hvas.

Sean Christopherson noted that this patch does not cover kvm_read_guest_offset_cached. This however is limited to a few bytes past the end of the cache, and therefore it is unlikely to be useful in the context of building a chain of data dependent accesses.

CVSS v3
7.1
EG Score
7.1(medium)
EG Risk
32(Track)
EG Risk 32/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity71% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
17%
KEV
Not listed

Published

May 21, 2024

Last Modified

April 30, 2025

References (16)

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 7× in last 7d / 40× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 119 total refreshes for this CVE.

  1. 2026-08-07 16:24 UTCEPSS rescore
  2. 2026-08-06 13:44 UTCEPSS rescore
  3. 2026-08-05 19:15 UTCEPSS rescore
  4. 2026-08-04 15:06 UTCEPSS rescore
  5. 2026-08-04 10:34 UTCEPSS rescore
  6. 2026-08-03 10:33 UTCEPSS rescore
  7. 2026-08-02 02:24 UTCEPSS rescore
  8. 2026-08-01 04:13 UTCEPSS rescore
  9. 2026-08-01 02:42 UTCOSV refresh
  10. 2026-07-30 16:25 UTCEPSS rescore
  11. 2026-07-30 01:28 UTCEPSS rescore
  12. 2026-07-28 15:33 UTCEPSS rescore
  13. 2026-07-26 14:52 UTCEPSS rescore
  14. 2026-07-25 14:15 UTCEPSS rescore
  15. 2026-07-24 14:15 UTCEPSS rescore
  16. 2026-07-24 14:15 UTCEPSS rescore
  17. 2026-07-23 14:16 UTCEPSS rescore
  18. 2026-07-23 02:06 UTCEG score recompute
  19. 2026-07-22 22:53 UTCEG score recompute
  20. 2026-07-22 14:06 UTCEPSS rescore
  21. 2026-07-21 15:22 UTCEPSS rescore
  22. 2026-07-21 15:22 UTCEPSS rescore
  23. 2026-07-20 17:05 UTCEPSS rescore
  24. 2026-07-19 14:29 UTCEPSS rescore
  25. 2026-07-19 02:27 UTCEPSS rescore
Show 75 more
  1. 2026-07-19 02:27 UTCEPSS rescore
  2. 2026-07-18 10:02 UTCEPSS rescore
  3. 2026-07-16 17:00 UTCEPSS rescore
  4. 2026-07-16 17:00 UTCEPSS rescore
  5. 2026-07-15 16:55 UTCEPSS rescore
  6. 2026-07-15 01:58 UTCEPSS rescore
  7. 2026-07-15 01:58 UTCEPSS rescore
  8. 2026-07-14 10:10 UTCOSV refresh
  9. 2026-07-13 22:27 UTCEPSS rescore
  10. 2026-07-13 06:11 UTCEPSS rescore
  11. 2026-07-13 06:11 UTCEPSS rescore
  12. 2026-07-12 05:44 UTCEPSS rescore
  13. 2026-07-11 08:25 UTCEPSS rescore
  14. 2026-07-09 19:07 UTCEPSS rescore
  15. 2026-07-09 19:07 UTCEPSS rescore
  16. 2026-07-08 15:12 UTCEPSS rescore
  17. 2026-07-08 15:12 UTCEPSS rescore
  18. 2026-07-07 13:43 UTCEPSS rescore
  19. 2026-07-06 16:25 UTCEPSS rescore
  20. 2026-07-06 16:25 UTCEPSS rescore
  21. 2026-07-06 02:21 UTCEPSS rescore
  22. 2026-07-06 02:21 UTCEPSS rescore
  23. 2026-07-05 02:28 UTCEPSS rescore
  24. 2026-07-05 02:28 UTCEPSS rescore
  25. 2026-07-04 06:29 UTCEPSS rescore
  26. 2026-07-04 06:29 UTCEPSS rescore
  27. 2026-07-01 15:04 UTCEPSS rescore
  28. 2026-06-30 23:20 UTCEPSS rescore
  29. 2026-06-29 14:04 UTCEPSS rescore
  30. 2026-06-29 14:04 UTCEPSS rescore
  31. 2026-06-28 14:05 UTCEPSS rescore
  32. 2026-06-28 04:54 UTCEPSS rescore
  33. 2026-06-28 04:54 UTCEPSS rescore
  34. 2026-06-27 03:07 UTCEPSS rescore
  35. 2026-06-27 03:06 UTCEPSS rescore
  36. 2026-06-26 10:39 UTCOSV refresh
  37. 2026-06-25 13:48 UTCEPSS rescore
  38. 2026-06-25 13:48 UTCEPSS rescore
  39. 2026-06-24 14:03 UTCEPSS rescore
  40. 2026-06-24 14:03 UTCEPSS rescore
  41. 2026-06-23 21:31 UTCEPSS rescore
  42. 2026-06-23 21:31 UTCEPSS rescore
  43. 2026-06-22 14:24 UTCEPSS rescore
  44. 2026-06-21 14:55 UTCEPSS rescore
  45. 2026-06-21 01:58 UTCEPSS rescore
  46. 2026-06-21 01:58 UTCEPSS rescore
  47. 2026-06-19 19:24 UTCEPSS rescore
  48. 2026-06-19 19:24 UTCEPSS rescore
  49. 2026-06-18 17:51 UTCEPSS rescore
  50. 2026-06-18 17:51 UTCEPSS rescore
  51. 2026-06-17 17:51 UTCEPSS rescore
  52. 2026-06-17 17:51 UTCEPSS rescore
  53. 2026-06-16 17:51 UTCEPSS rescore
  54. 2026-06-15 17:46 UTCEPSS rescore
  55. 2026-06-14 23:15 UTCEPSS rescore
  56. 2026-06-14 23:15 UTCEPSS rescore
  57. 2026-06-13 22:58 UTCEPSS rescore
  58. 2026-06-13 22:58 UTCEPSS rescore
  59. 2026-06-12 23:10 UTCEPSS rescore
  60. 2026-06-11 13:58 UTCEPSS rescore
  61. 2026-06-10 22:16 UTCEPSS rescore
  62. 2026-06-10 13:20 UTCEPSS rescore
  63. 2026-06-08 17:11 UTCOSV refresh
  64. 2026-06-08 14:15 UTCEPSS rescore
  65. 2026-06-08 14:15 UTCEPSS rescore
  66. 2026-06-08 14:15 UTCEPSS rescore
  67. 2026-06-07 15:23 UTCEPSS rescore
  68. 2026-06-07 15:23 UTCEPSS rescore
  69. 2026-06-06 13:46 UTCEPSS rescore
  70. 2026-06-06 13:46 UTCEPSS rescore
  71. 2026-06-05 22:45 UTCEPSS rescore
  72. 2026-06-05 22:45 UTCEPSS rescore
  73. 2026-06-05 06:09 UTCEPSS rescore
  74. 2026-06-05 06:09 UTCEPSS rescore
  75. 2026-06-04 13:11 UTCEPSS rescore

Frequently asked(5)

What is CVE-2021-47277?
CVE-2021-47277 is a high vulnerability published on May 21, 2024. In the Linux kernel, the following vulnerability has been resolved: kvm: avoid speculation-based attacks from out-of-range memslot accesses KVM's mechanism for accessing guest memory translates a guest physical address (gpa) to a host virtual address using the right-shifted gpa (also known as gfn)…
When was CVE-2021-47277 disclosed?
CVE-2021-47277 was first published in the National Vulnerability Database on May 21, 2024, with the most recent update on April 30, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2021-47277 actively exploited?
CVE-2021-47277 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 82.5% of all scored CVEs.
What is the CVSS score of CVE-2021-47277?
CVE-2021-47277 has a CVSS v3 base score of 7.1 (NVD).
How do I remediate CVE-2021-47277?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2021-47277, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2021-47277

Explore →

Is Your Infrastructure Affected by CVE-2021-47277?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.