Executive brief
A vulnerability in the Xen virtualization platform's boot loader emulator, pygrub, allows a guest administrator to access or delete files on the host server. By manipulating the boot configuration, an attacker can trick the host system into treating sensitive files as part of the guest's startup process. This can lead to the theft of private host data or a complete system disruption if critical host files are deleted.
Technical details
A delimiter injection vulnerability exists in the pygrub boot loader emulator when nul-delimited output format is requested. The toolstack (libxl) fails to properly sanitize or quote output from pygrub, allowing an attacker with guest administrator privileges to inject NUL bytes into the bootloader configuration file. This causes libxl to misinterpret the output, potentially treating any host file as the guest's initial ramdisk. Consequently, the attacker can read the contents of host files or cause the toolstack to delete them during the boot process. The vulnerability affects systems using xl, libxl, or libvirt where guests are configured to use pygrub.
Affected products
- Xen Project Xen 2.0 and later
- Citrix XenServer 6.0.2, 6.2.0, 6.5, 7.0
Timeline
- 2016-11-22: disclosed: Initial public release of XSA-198
- 2016-11-22: patched: Patch released by Xen Project
- 2017-01-23: advisory: NVD publication date