Unsanitised driver domain input in libxl device handling

2016-06-02T12:00:00
ID XSA-178
Type xen
Reporter Xen Project
Modified 2016-06-06T16:55:00

Description

ISSUE DESCRIPTION

libxl's device-handling code freely uses and trusts information from the backend directories in xenstore. The backend domain (driver domain) can store bogus data in the backend, causing libxl's enquiry functions to fail, confusing management tools. A driver domain can also remove its backend directory from xenstore entirely, preventing the device from showing up in device listings and preventing it from being removed and replaced. A driver domain can cause libxl to generate disk eject events for disks for which the driver domain is not responsible.

IMPACT

A malicious driver domain can deny service to management tools.

VULNERABLE SYSTEMS

This vulnerability is only applicable to systems which are using driver domains, and then only where the driver domain is not intended to be fully trusted with respect to the host. Such Xen systems using libxl based toolstacks (for example xl or libvirt with the libxl driver) are vulnerable. Note that even with this vulnerability a driver domain based system is better from a security point of view, than a system where devices are provided directly by dom0. Users and vendors of systems using driver domains should not change their configuration. All versions of libxl which support the relevant driver domains are vulnerable.