CVE-2026-31590

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Drop WARN on large size for KVM_MEMORY_ENCRYPT_REG_REGION Drop the WARN in sev_pin_memory() on npages overflowing an int, as the WARN is comically trivially to trigger from userspace, e.g. by doing: struct kvm_enc_region range = { .addr = 0, .size = -1ul, }; __vm_ioctl(vm, KVM_MEMORY_ENCRYPT_REG_REGION, &range); Note, the checks in sev_mem_enc_register_region() that presumably exist to verify the incoming address+size are completely worthless, as both "addr" and "size" are u64s and SEV is 64-bit only, i.e. they _can't_ be greater than ULONG_MAX. That wart will be cleaned up in the near future. if (range->addr > ULONG_MAX || range->size > ULONG_MAX) return -EINVAL; Opportunistically add a comment to explain why the code calculates the number of pages the "hard" way, e.g. instead of just shifting @ulen.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

11 Nov 2026, 23:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: KVM: SEV: Eliminar WARN en tamaño grande para KVM_MEMORY_ENCRYPT_REG_REGION Eliminar el WARN en sev_pin_memory() sobre npages desbordando un int, ya que el WARN es cómicamente trivial de activar desde el espacio de usuario, p. ej., haciendo: struct kvm_enc_region range = { .addr = 0, .size = -1ul, }; __vm_ioctl(vm, KVM_MEMORY_ENCRYPT_REG_REGION, ref:range); Tenga en cuenta que las comprobaciones en sev_mem_enc_register_region() que presumiblemente existen para verificar la dirección+tamaño entrantes son completamente inútiles, ya que tanto ’addr’ como ’size’ son u64 y SEV es solo de 64 bits, es decir, _no pueden_ ser mayores que ULONG_MAX. Esa imperfección será corregida en un futuro cercano. if (range -> addr > ULONG_MAX || range -> size > ULONG_MAX) return -EINVAL; Se añade oportunistamente un comentario para explicar por qué el código calcula el número de páginas de la manera ’difícil’, p. ej., en lugar de simplemente desplazar @ulen.

Information

Published : 2026-04-24 15:16

Updated : 2026-11-11 23:10


NVD link : CVE-2026-31590

Mitre link : CVE-2026-31590

CVE.ORG link : CVE-2026-31590


JSON object : View

Products Affected

linux

  • linux_kernel