CVE-2025-38334

MEDIUMNVD 5.55.5
EchelonGraph scoreMEDIUM confidence

Score 5.5 from GitHub Security Advisory published 2025-07-10. NVD baseline CVSS 5.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
5.5
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 5.5Exploit: NoneExposed: 0

A fix is available — apply it.

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

x86/sgx: Prevent attempts to reclaim poisoned pages

TL;DR: SGX page reclaim touches the page to copy its contents to secondary storage. SGX instructions do not gracefully handle machine checks. Despite this, the existing SGX code will try to reclaim pages that it _knows_ are poisoned. Avoid even trying to reclaim poisoned pages.

The longer story:

Pages used by an enclave only get epc_page->poison set in arch_memory_failure() but they currently stay on sgx_active_page_list until sgx_encl_release(), with the SGX_EPC_PAGE_RECLAIMER_TRACKED flag untouched.

epc_page->poison is not checked in the reclaimer logic meaning that, if other conditions are met, an attempt will be made to reclaim an EPC page that was poisoned. This is bad because 1. we don't want that page to end up added to another enclave and 2. it is likely to cause one core to shut down and the kernel to panic.

Specifically, reclaiming uses microcode operations including "EWB" which accesses the EPC page contents to encrypt and write them out to non-SGX memory. Those operations cannot handle MCEs in their accesses other than by putting the executing core into a special shutdown state (affecting both threads with HT.) The kernel will subsequently panic on the remaining cores seeing the core didn't enter MCE handler(s) in time.

Call sgx_unmark_page_reclaimable() to remove the affected EPC page from sgx_active_page_list on memory error to stop it being considered for reclaiming.

Testing epc_page->poison in sgx_reclaim_pages() would also work but I assume it's better to add code in the less likely paths.

The affected EPC page is not added to &node->sgx_poison_page_list until later in sgx_encl_release()->sgx_free_epc_page() when it is EREMOVEd. Membership on other lists doesn't change to avoid changing any of the lists' semantics except for sgx_active_page_list. There's a "TBD" comment in arch_memory_failure() about pre-emptive actions, the goal here is not to address everything that it may imply.

This also doesn't completely close the time window when a memory error notification will be fatal (for a not previously poisoned EPC page) -- the MCE can happen after sgx_reclaim_pages() has selected its candidates or even *inside* a microcode operation (actually easy to trigger due to the amount of time spent in them.)

The spinlock in sgx_unmark_page_reclaimable() is safe because memory_failure() runs in process context and no spinlocks are held, explicitly noted in a mm/memory-failure.c comment.

CVSS v3
5.5
EG Score
5.5(medium)
EG Risk
29(Track)
EG Risk 29/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
Severity55% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS
4.2%
KEV
Not listed

Published

July 10, 2025

Last Modified

December 16, 2025

Patch Availability(22)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-virtual-hwe-24.04-edge (6.14.0-34.34) @ plucky2026-05-30ubuntu
ubuntulinux-tools-gcp-edge (6.14.0-1018.19~24.04.1) @ noble2026-05-30ubuntu
ubuntulinux-tools-realtime-hwe-24.04-edge (6.14.0-1014.14~24.04.1) @ noble2026-05-30ubuntu
ubuntulinux-virtual-6.8 (6.8.0-100.100) @ noble2026-05-30ubuntu
ubuntulinux-tools-aws-edge (6.14.0-1015.15~24.04.1) @ noble2026-05-30ubuntu
ubuntulinux-virtual-hwe-24.04-edge (6.14.0-34.34~24.04.1) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-6.14 (6.14.0-1014.14) @ plucky2026-05-30ubuntu
ubuntulinux-tools-realtime-hwe-22.04 (6.8.1-1041.42~22.04.1) @ jammy2026-05-30ubuntu
ubuntulinux-tools-gcp-edge (6.8.0-1047.50~22.04.2) @ jammy2026-05-30ubuntu
ubuntulinux-tools-realtime-6.8.1 (6.8.1-1041.42) @ noble2026-05-30ubuntu
ubuntulinux-tools-fips-6.8 (6.8.0-100.100+fips1) @ noble2026-05-30ubuntu
ubuntulinux-tools-oracle-lts-24.04 (6.8.0-1043.44) @ noble2026-05-30ubuntu
ubuntulinux-tools-gke-64k-6.8 (6.8.0-1043.48) @ noble2026-05-30ubuntu
ubuntulinux-tools-gcp-fips-6.8 (6.8.0-1047.50+fips1) @ noble2026-05-30ubuntu
ubuntulinux-tools-lowlatency-hwe-20.04-edge (6.8.0-100.100.1) @ noble2026-05-30ubuntu
ubuntulinux-virtual-hwe-22.04-edge (6.8.0-100.100~22.04.1) @ jammy2026-05-30ubuntu
ubuntulinux-tools-nvidia-lowlatency-64k-6.8 (6.8.0-1046.49.1) @ noble2026-05-30ubuntu
ubuntulinux-tools-ibm-lts-24.04 (6.8.0-1044.44) @ noble2026-05-30ubuntu
ubuntulinux-xilinx-zynqmp (6.8.0.1023.24) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-fips-6.8 (6.8.0-1046.52+fips1) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-lts-24.04 (6.8.0-1046.52) @ noble2026-05-30ubuntu
ubuntulinux-tools-azure-edge (6.8.0-1051.57~22.04.1) @ jammy2026-05-30ubuntu

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

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

All Vendor Advisories

(23)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 11× in last 7d / 47× 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.

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

Frequently asked(5)

What is CVE-2025-38334?
CVE-2025-38334 is a medium vulnerability published on July 10, 2025. In the Linux kernel, the following vulnerability has been resolved: x86/sgx: Prevent attempts to reclaim poisoned pages TL;DR: SGX page reclaim touches the page to copy its contents to secondary storage. SGX instructions do not gracefully handle machine checks. Despite this, the existing SGX code…
When was CVE-2025-38334 disclosed?
CVE-2025-38334 was first published in the National Vulnerability Database on July 10, 2025, with the most recent update on December 16, 2025. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-38334 actively exploited?
CVE-2025-38334 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 4.2% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2025-38334?
CVE-2025-38334 has a CVSS v3 base score of 5.5 (NVD).
How do I remediate CVE-2025-38334?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-38334, 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-2025-38334

Explore →

Is Your Infrastructure Affected by CVE-2025-38334?

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