Red Hat Bugzilla – Bug 870096
CVE-2012-4536 kernel: xen: PIRQ unmap missing range check causes hypervisor crash
Last modified: 2013-04-15 10:26:22 EDT
domain_pirq_to_emuirq() uses the guest provided pirq value before range checking it, and physdev_unmap_pirq uses domain_pirq_to_emuirq without checking the pirq value either. Invalid pirq values can cause Xen to read out of array bounds, usually resulting in a fatal page fault.
A malicious guest administrator can cause Xen to crash. If the out of array bounds access does not crash, the arbitrary value read will be ignored due to later error checking, so there is no privilege escalation and no exploitable information leak.
Red Hat would like to thank the Xen project for reporting this issue.
In RHEL5, physdev_unmap_pirq calls unmap_domain_pirq which does the range check.
This issue did not affect the versions of the kernel-xen package as shipped with Red Hat Enterprise Linux 5.
This issue did not affect Red Hat Enterprise Linux 6 and Red Hat Enterprise MRG as we did not have support for Xen hypervisor.
Created xen tracking bugs for this issue
Affects: fedora-all [bug 876200]
Fixed in Fedora via xen-4.1.3-4.fc16 and xen-4.1.3-6.fc17; Fedora 18 and higher were not affected.