oss-sec mailing list archives
CVE request: kvm: integer overflow in kvm_dev_ioctl_get_supported_cpuid()
From: Eugene Teo <eugeneteo () kernel sg>
Date: Fri, 23 Oct 2009 17:12:23 +0800
Quote from the upstream commit:"The number of entries is multiplied by the entry size, which can overflow on 32-bit hosts. Bound the entry count instead."
if (cpuid->nent < 1) goto out; + if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) + cpuid->nent = KVM_MAX_CPUID_ENTRIES; r = -ENOMEM; cpuid_entries = vmalloc(sizeof(struct kvm_cpuid_entry2) * cpuid->nent); if (!cpuid_entries) This one can be triggered if /dev/kvm is user accessible (which isrecommended...). This was introduced in v2.6.25-rc1, and fixed in v2.6.32-rc4. Only on 32-bit host.
References: http://git.kernel.org/linus/0771671749b59a507b6da4efb931c44d9691e248 http://git.kernel.org/linus/6a54435560efdab1a08f429a954df4d6c740bddf https://bugzilla.redhat.com/show_bug.cgi?id=530515 Thanks, Eugene
Current thread:
- CVE request: kvm: integer overflow in kvm_dev_ioctl_get_supported_cpuid() Eugene Teo (Oct 23)
- Re: CVE request: kvm: integer overflow in kvm_dev_ioctl_get_supported_cpuid() Josh Bressers (Oct 23)