MyNixOS website logo
Description

Xen Project Hypervisor (Without Internal Components)

Slimmed-down version of the Xen Project Hypervisor that reuses nixpkgs packages as much as possible. Instead of using the Xen Project forks for various internal components, this version uses seabios, ovmf and ipxe from Nixpkgs. These components may ocasionally get out of sync with the hypervisor itself, but this builds faster and uses less space than the default derivation.

Use with qemu_xen_4_18.

Includes:

  • xen.efi: The Xen Project's EFI binary, available on the boot output of this package.

This Xen Project Hypervisor (4.18.3) has been patched against the following known security vulnerabilities:

  • Xen Security Advisory #462: x86: Deadlock in vlapic_error().

    In x86's APIC (Advanced Programmable Interrupt Controller) architecture, error conditions are reported in a status register. Furthermore, the OS can opt to receive an interrupt when a new error occurs.

It is possible to configure the error interrupt with an illegal vector, which generates an error when an error interrupt is raised.

This case causes Xen to recurse through vlapic_error(). The recursion itself is bounded; errors accumulate in the the status register and only generate an interrupt when a new status bit becomes set.

However, the lock protecting this state in Xen will try to be taken recursively, and deadlock.

Fixes: