Characterizing Vulnerabilities in Platform Security
This article provides some information on works related to characterizing Vulnerabilities within the Xen Project Hypervisor, as well as related projects.
Types of Vulnerabilities handled by the Xen Project Security Team
Vulnerability Scope Boundaries
The Xen Project Security Response team follows the project's Security Response Process and publishes security issue via xenbits.xen.org/xsa. Security issues covered by the process include issues within the following vulnerability scope boundaries:
- Xen hypervisor (see support-matrix for details)
- Hypervisor toolstack(s) - e.g. XSA 271, XSA 266
- Linux kernel components affecting Xen - e.g. XSA 274, XSA 270,
- Hardware vulnerabilities affecting Xen - e.g. XSA 273, XSA 265, XSA 254
- Some QEMU components (see support-matrix for details)
In addition, some vulnerabilities will impact only a subset of Xen versions, a specific architecture (x86 Intel, x86 AMD, Arm 32, Arm 64) or specific configuration and/or virtualization mode (PV, HVM, PVH). Typically products based on Xen will be based on a specific version, subset of features and specific architecture. For example, many Xen based products and services will only support a subset of virtualization modes.
Unlike other open source project, the Xen Project always publishes XSAs for security bugs of low severity. The primary reason for this approach is that there are many different products for very different use-cases, ranging from server virtualisation/cloud computing, to desktop applications (such as Qubes OS), to embedded Xen distributions and that severity cannot usually be determined without considering the specific use-case and context.
CVE Numbers and CVE Publication Dates
Note that there is not always a 1-2-1 mapping between CVE numbers and XSAs. Sometimes multiple CVE numbers exist for a single XSA. This typically is the case in the following circumstances:
- When multiple Hardware vulnerabilities affecting Xen can be addressed by the same mitigation (e.g. XSA 273)
- When related attack vectors can be addressed by the same mitigation (e.g. XSA 201, XSA 218, XSA 196)
Note that the mapping of CVE numbers to years may not match the XSA publication dates: this frequently happens towards the end of a calendar year.
CVE databases such as CVE Details will consume vulnerability data published by the Xen Project and publish it under a Xen-specific vendor ID (e.g. Xen vendor on CVE Details). This means that vulnerabilities with very different vulnerability scope boundaries (e.g. Xen Hypervisor, Hypervisor toolstack(s), Linux kernel components affecting Xen, Hardware vulnerabilities affecting Xen, QEMU components) will all be listed under the Xen-specific vendor ID. Manual filtering of vulnerabilities is required when considering a specific scope, use-case or architecture.
Security teams of Xen Upstreams (e.g. Linux or QEMU) will notify the Xen Project Security Team of security issues they suspect will impact Xen. However, this usually depends on the wishes of the discoverer of an issue (for example, see QEMU Security Process).
Prior Work Characterizing Vulnerabilities
- 2013: Diego Perez-Botero, Jakub Szefer and Ruby B - Lee Princeton University, Princeton, NJ, USA: Characterizing Hypervisor Vulnerabilities in Cloud Computing Servers
- 2016: Haibo Chen: Virtualization Security: The Good, The Bad and The Ugly (slides)
- 2017: Lei Shi, Yuming Wu, Yubin Xia, Nathan Dautenhahn, Haibo Chen, Binyu Zang, Haibing Guan, Jinming Li : Deconstructing Xen (slides)