Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and other modes. This in particular means that they may set registers used to pass 32-bit-mode hypercall arguments to values outside of the range 32-bit code would be able to set them to. When processing of hypercalls takes a considerable amount of time, the hypervisor may choose to invoke a hypercall continuation. Doing so involves putting (perhaps updated) hypercall arguments in respective registers. For guests not running in 64-bit mode this further involves a certain amount of translation of the values. Unfortunately internal sanity checking of these translated values assumes high halves of registers to always be clear when invoking a hypercall. When this is found not to be the case, it triggers a consistency check in the hypervisor and causes a crash.
NVD Severity
Other trackers
Mailing lists
GitHub (code, issues), Aports (code, issues)


Type URI

Match rules

CPE URI Source package Min version Max version
xen == consult Xen advisory XSA-454 == consult Xen advisory XSA-454

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
xen 3.19-main 4.18.2-r0 Natanael Copa <> fixed
xen 3.18-main 4.17.4-r0 Natanael Copa <> fixed
xen 3.17-main 4.16.6-r0 Natanael Copa <> fixed
xen 3.16-main 4.16.6-r0 Natanael Copa <> fixed