{"id":"UBUNTU-CVE-2021-28705","details":"issues with partially successful P2M updates on x86 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). In some cases the hypervisor carries out the requests by splitting them into smaller chunks. Error handling in certain PoD cases has been insufficient in that in particular partial success of some operations was not properly accounted for. There are two code paths affected - page removal (CVE-2021-28705) and insertion of new pages (CVE-2021-28709). (We provide one patch which combines the fix to both issues.)","modified":"2026-05-20T16:04:55.408748794Z","published":"2021-11-24T02:15:00Z","upstream":["CVE-2021-28705"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2021-28705"},{"type":"REPORT","url":"https://xenbits.xen.org/xsa/advisory-389.html"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2021-28705"}],"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_version":"4.6.5-0ubuntu1.4","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.9.2-0ubuntu1","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.11.3+24-g14b62ab3e5-1ubuntu2.3","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.16.0-1~ubuntu2.1","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.17.3+10-g091466ba55-1.1ubuntu3","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.20.0+68-g35cb38b222-1","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.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_version":"4.20.2+7-g1badcf5035-2build2","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"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2021/UBUNTU-CVE-2021-28705.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}