{"id":"UBUNTU-CVE-2021-28707","details":"PoD operations on misaligned GFNs T[his CNA information record relates to multiple CVEs; the text explains which aspects/vulnerabilities correspond to which CVE.] x86 HVM and PVH guests may be started in populate-on-demand (PoD) mode, to provide a way for them to later easily have more memory assigned. Guests are permitted to control certain P2M aspects of individual pages via hypercalls. These hypercalls may act on ranges of pages specified via page orders (resulting in a power-of-2 number of pages). The implementation of some of these hypercalls for PoD does not enforce the base page frame number to be suitably aligned for the specified order, yet some code involved in PoD handling actually makes such an assumption. These operations are XENMEM_decrease_reservation (CVE-2021-28704) and XENMEM_populate_physmap (CVE-2021-28707), the latter usable only by domains controlling the guest, i.e. a de-privileged qemu or a stub domain. (Patch 1, combining the fix to both these two issues.) In addition handling of XENMEM_decrease_reservation can also trigger a host crash when the specified page order is neither 4k nor 2M nor 1G (CVE-2021-28708, patch 2).","modified":"2026-05-20T16:06:27.611422817Z","published":"2021-11-24T01:15:00Z","upstream":["CVE-2021-28707"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2021-28707"},{"type":"REPORT","url":"https://xenbits.xen.org/xsa/advisory-388.html"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2021-28707"}],"affected":[{"package":{"name":"xen","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.5.1-0ubuntu1","4.5.1-0ubuntu2","4.6.0-1ubuntu1","4.6.0-1ubuntu2","4.6.0-1ubuntu4","4.6.0-1ubuntu4.1","4.6.0-1ubuntu4.2","4.6.0-1ubuntu4.3","4.6.5-0ubuntu1","4.6.5-0ubuntu1.1","4.6.5-0ubuntu1.2","4.6.5-0ubuntu1.4"],"ecosystem_specific":{"binaries":[{"binary_name":"libxen-4.6","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"libxenstore3.0","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.4-amd64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.4-arm64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.4-armhf","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.5-amd64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.5-arm64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.5-armhf","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.6-amd64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.6-arm64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-hypervisor-4.6-armhf","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-system-amd64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-system-arm64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-system-armhf","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-utils-4.6","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xen-utils-common","binary_version":"4.6.5-0ubuntu1.4"},{"binary_name":"xenstore-utils","binary_version":"4.6.5-0ubuntu1.4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.9.0-0ubuntu3","4.9.0-0ubuntu4","4.9.2-0ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"libxen-4.9","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"libxenstore3.0","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.6-amd64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.6-arm64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.6-armhf","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.7-amd64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.7-arm64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.7-armhf","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.8-amd64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.8-arm64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.8-armhf","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.9-amd64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.9-arm64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-hypervisor-4.9-armhf","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-system-amd64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-system-arm64","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-system-armhf","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-utils-4.9","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xen-utils-common","binary_version":"4.9.2-0ubuntu1"},{"binary_name":"xenstore-utils","binary_version":"4.9.2-0ubuntu1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.9.2-0ubuntu2","4.9.2-0ubuntu6","4.9.2-0ubuntu7","4.11.3+24-g14b62ab3e5-1ubuntu1","4.11.3+24-g14b62ab3e5-1ubuntu2","4.11.3+24-g14b62ab3e5-1ubuntu2.2","4.11.3+24-g14b62ab3e5-1ubuntu2.3"],"ecosystem_specific":{"binaries":[{"binary_name":"libxencall1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxendevicemodel1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxenevtchn1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxenforeignmemory1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxengnttab1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxenmisc4.11","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxenstore3.0","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxentoolcore1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"libxentoollog1","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.11-amd64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.11-arm64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.11-armhf","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.9-amd64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.9-arm64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-4.9-armhf","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-hypervisor-common","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-system-amd64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-system-arm64","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-system-armhf","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-utils-4.11","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xen-utils-common","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"},{"binary_name":"xenstore-utils","binary_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.11.4+24-gddaaccbbab-1ubuntu2","4.16.0-1~ubuntu2","4.16.0-1~ubuntu2.1"],"ecosystem_specific":{"binaries":[{"binary_name":"libxencall1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxendevicemodel1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxenevtchn1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxenforeignmemory1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxengnttab1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxenhypfs1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxenmisc4.16","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxenstore4","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxentoolcore1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"libxentoollog1","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-hypervisor-4.16-amd64","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-hypervisor-4.16-arm64","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-hypervisor-4.16-armhf","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-hypervisor-common","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-system-amd64","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-system-arm64","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-system-armhf","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-utils-4.16","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xen-utils-common","binary_version":"4.16.0-1~ubuntu2.1"},{"binary_name":"xenstore-utils","binary_version":"4.16.0-1~ubuntu2.1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.17.2-1","4.17.2+55-g0b56bed864-1","4.17.2+76-ge1f9cb16e2-1","4.17.2+76-ge1f9cb16e2-1ubuntu1","4.17.3+10-g091466ba55-1","4.17.3+10-g091466ba55-1.1ubuntu2","4.17.3+10-g091466ba55-1.1ubuntu3"],"ecosystem_specific":{"binaries":[{"binary_name":"libxencall1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxendevicemodel1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxenevtchn1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxenforeignmemory1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxengnttab1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxenhypfs1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxenmisc4.17t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxenstore4t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxentoolcore1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"libxentoollog1t64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-hypervisor-4.17-amd64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-hypervisor-4.17-arm64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-hypervisor-4.17-armhf","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-hypervisor-common","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-system-amd64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-system-arm64","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-system-armhf","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-utils-4.17","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xen-utils-common","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"},{"binary_name":"xenstore-utils","binary_version":"4.17.3+10-g091466ba55-1.1ubuntu3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/xen?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.20.0-1ubuntu1","4.20.0+68-g35cb38b222-1"],"ecosystem_specific":{"binaries":[{"binary_name":"libxencall1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxendevicemodel1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxenevtchn1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxenforeignmemory1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxengnttab1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxenhypfs1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxenmisc4.20","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxenstore4","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxentoolcore1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"libxentoollog1","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-hypervisor-4.20-amd64","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-hypervisor-4.20-arm64","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-hypervisor-common","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-system-amd64","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-system-arm64","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-utils-4.20","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xen-utils-common","binary_version":"4.20.0+68-g35cb38b222-1"},{"binary_name":"xenstore-utils","binary_version":"4.20.0+68-g35cb38b222-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/xen?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.20.0+68-g35cb38b222-1","4.20.2+7-g1badcf5035-2","4.20.2+7-g1badcf5035-2build2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxencall1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxendevicemodel1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxenevtchn1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxenforeignmemory1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxengnttab1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxenhypfs1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxenmisc4.20","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxenstore4","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxentoolcore1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"libxentoollog1","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-hypervisor-4.20-amd64","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-hypervisor-4.20-arm64","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-hypervisor-common","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-system-amd64","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-system-arm64","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-utils-4.20","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xen-utils-common","binary_version":"4.20.2+7-g1badcf5035-2build2"},{"binary_name":"xenstore-utils","binary_version":"4.20.2+7-g1badcf5035-2build2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28707.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}