Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-63939

Опубликовано: 19 июл. 2026
Источник: redhat
CVSS3: 7
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Compute the correct max length of the in-GHCB scratch area When setting the length of the GHCB scratch area, and the area is in the GHCB shared buffer, set the effective length of the scratch area to the max possible size given the start of the guest-provided pointer, and the end of the shared buffer. The code was "fine" when first introduced, as KVM doesn't consult the length of the buffer when emulating MMIO, because the passed in @len always specifies the max size required. But for PSC requests, the incoming @len is just the minimum length (to process the header), and KVM needs to know the full size of the scratch area to avoid buffer overflows (spoiler alert). Opportunistically rename @len => @min_len to better reflect its role.

A flaw was found in the Linux kernel's Kernel-based Virtual Machine (KVM) with Secure Encrypted Virtualization (SEV) support. This vulnerability arises from an incorrect calculation of the maximum length for the in-Guest-Host Communication Block (GHCB) scratch area. When processing Page State Change (PSC) requests, KVM uses a minimum length instead of the full required size, which can lead to a buffer overflow. A malicious guest operating system could potentially exploit this to cause a denial of service or escalate privileges on the host system.

Отчет

A buffer overflow flaw was found in the Linux kernel's KVM (Kernel-based Virtual Machine) support for Secure Encrypted Virtualization (SEV). When processing a Page State Change (PSC) request from a guest, KVM calculated the length of the in-GHCB scratch area using the minimum length needed to process the request header instead of the maximum possible size bounded by the guest-provided pointer and the end of the GHCB shared buffer. A malicious or compromised guest operating system could exploit this flaw to overflow a buffer in the host kernel, causing a denial of service or potentially escalating privileges on the host. Red Hat rates this issue as IMPORTANT (CVSS 7.0); the upstream CVE.org severity of CRITICAL (CVSS 9.3) differs because Red Hat's scoring accounts for the high attack complexity and the privileges required, as an attacker must already control a guest virtual machine running on a host with SEV enabled. The kernel and kernel-rt packages in Red Hat Enterprise Linux 9 and 10, and the kernel packages in Red Hat In-Vehicle OS 2, are affected. Red Hat Enterprise Linux 6, 7, and 8, and the RHEL 9.2 and 9.4 update streams, are not affected because the vulnerable code is not present in those releases.

Меры по смягчению последствий

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelAffected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelNot affected
Red Hat Enterprise Linux 8kernel-rtNot affected
Red Hat Enterprise Linux 9kernelAffected
Red Hat Enterprise Linux 9kernel-rtAffected

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-131
https://bugzilla.redhat.com/show_bug.cgi?id=2502365kernel: KVM: SEV: Compute the correct max length of the in-GHCB scratch area

EPSS

Процентиль: 10%
0.00201
Низкий

7 High

CVSS3

Связанные уязвимости

CVSS3: 9.3
ubuntu
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Compute the correct max length of the in-GHCB scratch area When setting the length of the GHCB scratch area, and the area is in the GHCB shared buffer, set the effective length of the scratch area to the max possible size given the start of the guest-provided pointer, and the end of the shared buffer. The code was "fine" when first introduced, as KVM doesn't consult the length of the buffer when emulating MMIO, because the passed in @len always specifies the *max* size required. But for PSC requests, the incoming @len is just the minimum length (to process the header), and KVM needs to know the full size of the scratch area to avoid buffer overflows (spoiler alert). Opportunistically rename @len => @min_len to better reflect its role.

CVSS3: 9.3
nvd
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Compute the correct max length of the in-GHCB scratch area When setting the length of the GHCB scratch area, and the area is in the GHCB shared buffer, set the effective length of the scratch area to the max possible size given the start of the guest-provided pointer, and the end of the shared buffer. The code was "fine" when first introduced, as KVM doesn't consult the length of the buffer when emulating MMIO, because the passed in @len always specifies the *max* size required. But for PSC requests, the incoming @len is just the minimum length (to process the header), and KVM needs to know the full size of the scratch area to avoid buffer overflows (spoiler alert). Opportunistically rename @len => @min_len to better reflect its role.

CVSS3: 9.3
debian
3 месяца назад

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

CVSS3: 9.3
redos
18 дней назад

Уязвимость kernel-lt

CVSS3: 9.3
github
3 месяца назад

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Compute the correct max length of the in-GHCB scratch area When setting the length of the GHCB scratch area, and the area is in the GHCB shared buffer, set the effective length of the scratch area to the max possible size given the start of the guest-provided pointer, and the end of the shared buffer. The code was "fine" when first introduced, as KVM doesn't consult the length of the buffer when emulating MMIO, because the passed in @len always specifies the *max* size required. But for PSC requests, the incoming @len is just the minimum length (to process the header), and KVM needs to know the full size of the scratch area to avoid buffer overflows (spoiler alert). Opportunistically rename @len => @min_len to better reflect its role.

EPSS

Процентиль: 10%
0.00201
Низкий

7 High

CVSS3