CVE-2026-31590
Description
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.
How to fix
- linux linux_kernel6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 or later
- git.kernel.org/stable/c/1cba4dcd795daf6d257122779fb6a349edf03914
- git.kernel.org/stable/c/28cc13ca20431b127d42d84ba10898d03e2c8267
- git.kernel.org/stable/c/8acffeef5ef720c35e513e322ab08e32683f32f2
- git.kernel.org/stable/c/ab423e5892826202a660b5ac85d1125b0e8301a5
- git.kernel.org/stable/c/b670833749ffd8681361db2bb047c6f2e3075f3a
- git.kernel.org/stable/c/c29ff288a2d97a6f4640a498a367cf0eb91312eb
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 5.9 ≤ v < 6.6.136, 6.7 ≤ v < 6.12.83, 6.13 ≤ v < 6.18.24, 6.19 ≤ v < 6.19.14, 7.0 ≤ v < 7.0.1 | 6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.