Advisory Published
Updated

REDHAT-BUG-1289128

First published: Mon Dec 07 2015(Updated: )

ISSUE DESCRIPTION ================= Xen PCI backend driver does not perform proper sanity checks on the device's state. Which in turn allows the generic MSI code (called by Xen PCI backend) to be called incorrectly leading to hitting BUG conditions or causing NULL pointer exceptions in the MSI code. To exploit this the guest can craft specific sequence of XEN_PCI_OP_* operations which will trigger this. Furthermore the frontend can also craft an continous stream of XEN_PCI_OP_enable_msi which will trigger an continous stream of WARN() messages triggered by the MSI code leading to the logging in the initial domain to exhaust disk space. Lastly there is also missing check to verify whether the device has memory decoding enabled set at the start of the day leading the initial domain "accesses to the respective MMIO or I/O port ranges would - - on PCI Express devices - [which can] lead to Unsupported Request responses. The treatment of such errors is platform specific." (from XSA-120). Note that if XSA-120 'addendum' patch has been applied this particular sub-issue is not exploitable. IMPACT ====== Malicious guest administrators can cause denial of service. If driver domains are not in use, the impact is a host crash. Only x86 systems are vulnerable. ARM systems are not vulnerable. VULNERABLE SYSTEMS ================== This bug affects systems using Linux as the driver domain, including non-disaggregated systems using Linux as dom0. Linux versions v3.1 and onwards are vulnerable due to supporting PCI pass-through backend driver. PV and HVM guests which have been granted access to physical PCI devices (`PCI passthrough') can take advantage of this vulnerability. Furthermore, the vulnerability is only applicable when the passed-through PCI devices are MSI-capable or MSI-X. (Most modern devices are). MITIGATION ========== Not using PCI passthrough for PV and HVM guests. Note that for HVM guests QEMU is used for PCI passthrough - however the toolstack sets up also the 'PV' PCI which the guest can utilize if it chooses to do so. External References: <a href="http://xenbits.xen.org/xsa/advisory-157.html">http://xenbits.xen.org/xsa/advisory-157.html</a> Acknowledgements: Red Hat would like to thank the Xen project for reporting this issue.

Affected SoftwareAffected VersionHow to fix
Xen Xen PCI backend driver>=v3.1
Linux kernel>=v3.1

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is the severity of REDHAT-BUG-1289128?

    The severity of REDHAT-BUG-1289128 is considered to be high due to the potential for unexpected behavior leading to crashes.

  • How do I fix REDHAT-BUG-1289128?

    To fix REDHAT-BUG-1289128, update the Xen PCI backend driver to a version that includes the necessary sanity checks.

  • What systems are affected by REDHAT-BUG-1289128?

    The systems affected by REDHAT-BUG-1289128 include those running the Xen PCI backend driver and certain versions of the Linux kernel.

  • What kind of exploitation is possible with REDHAT-BUG-1289128?

    Exploitation of REDHAT-BUG-1289128 can lead to kernel crashes or potentially arbitrary code execution due to NULL pointer exceptions.

  • Is there a workaround for REDHAT-BUG-1289128?

    A temporary workaround for REDHAT-BUG-1289128 may involve disabling the affected functionality until a patch is applied.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203