CVE-2026-52959: virt: sev-guest: Do not use host-controlled page order in cleanup path

Published Jun 24, 2026
·
Updated

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

virt: sev-guest: Do not use host-controlled page order in cleanup path

When issuing an extended guest request (SVMVMGEXITEXTGUESTREQUEST), getextreport() allocates a buffer to retrieve a certificate blob from the host, keeping track of its size in reportreq->certslen.

However, the host may return SNPGUESTVMMERRINVALIDLEN, indicating an invalid buffer size, as well as the expected length of such buffer. getextreport() subsequently updates reportreq->certslen with the host-controlled value, and cleans up the buffer by computing a page order from such value. This is incorrect, as the host-provided length may not match the page order of the original allocation, potentially resulting in corruption in the page allocator.

Fix this by using allocpagesexact() instead, and reusing @npages to compute the size passed to freepagesexact(). For consistency, also use @npages to compute the size when allocating the pages, even though this last change has no functional effect.

Affected Software

10 affected components
Linux Linux kernel
Linux Linux kernel>=6.13.8<6.14
Linux Linux kernel>=6.14.1<6.18.33
Linux Linux kernel>=6.19<7.0.10
Linux Linux kernel=6.14
Linux Linux kernel=6.14-rc6
Linux Linux kernel=6.14-rc7
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    In virt: sev-guest cleanup path, avoid using any host-controlled page order. Use @npages (the allocation-derived page count) to compute the size passed to free_pages_exact()/free_pages_exact()-equivalent cleanup instead of using host-provided length-derived page order.

    Linux kernel virt: sev-guest cleanup path page order calculation = Do not use host-controlled page order
  2. Configuration

    In get_ext_report(), allocate the certificate blob buffer using alloc_pages_exact() and reuse @npages to compute the correct size for the allocation and corresponding free_pages_exact() cleanup, ensuring the freed size matches the original allocation.

    Linux kernel SEV guest certificate handling (get_ext_report) page allocation API usage = alloc_pages_exact()

Event History

Jun 24, 2026
CVE Published
via MITRE·04:28 PM
Data Sourced
via MITRE·04:28 PM
DescriptionSeverity
Data Sourced
via NVD·05:17 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-52959?

The severity of CVE-2026-52959 is rated at 34.

2

How do I fix CVE-2026-52959?

To fix CVE-2026-52959, upgrade to the patched version of the Linux kernel that addresses this vulnerability.

3

What systems are affected by CVE-2026-52959?

CVE-2026-52959 affects systems running the Linux kernel with vulnerabilities in the virt and sev-guest functionalities.

4

What type of vulnerability is CVE-2026-52959?

CVE-2026-52959 is a security vulnerability in the Linux kernel related to the handling of host-controlled page orders.

5

What are the potential impacts of CVE-2026-52959?

The potential impacts of CVE-2026-52959 may include exploitation by attackers to manipulate memory management within the virtualization environment.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203