{"id":"UBUNTU-CVE-2019-18423","details":"An issue was discovered in Xen through 4.12.x allowing ARM guest OS users to cause a denial of service via a XENMEM_add_to_physmap hypercall. p2m-\u003emax_mapped_gfn is used by the functions p2m_resolve_translation_fault() and p2m_get_entry() to sanity check guest physical frame. The rest of the code in the two functions will assume that there is a valid root table and check that with BUG_ON(). The function p2m_get_root_pointer() will ignore the unused top bits of a guest physical frame. This means that the function p2m_set_entry() will alias the frame. However, p2m-\u003emax_mapped_gfn will be updated using the original frame. It would be possible to set p2m-\u003emax_mapped_gfn high enough to cover a frame that would lead p2m_get_root_pointer() to return NULL in p2m_get_entry() and p2m_resolve_translation_fault(). Additionally, the sanity check on p2m-\u003emax_mapped_gfn is off-by-one allowing \"highest mapped + 1\" to be considered valid. However, p2m_get_root_pointer() will return NULL. The problem could be triggered with a specially crafted hypercall XENMEM_add_to_physmap{, _batch} followed by an access to an address (via hypercall or direct access) that passes the sanity check but cause p2m_get_root_pointer() to return NULL. A malicious guest administrator may cause a hypervisor crash, resulting in a Denial of Service (DoS). Xen version 4.8 and newer are vulnerable. Only Arm systems are vulnerable. x86 systems are not affected.","modified":"2026-04-22T12:13:59.081038Z","published":"2019-10-31T14:15:00Z","upstream":["CVE-2019-18423"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2019-18423"},{"type":"REPORT","url":"https://xenbits.xen.org/xsa/advisory-301.html"},{"type":"REPORT","url":"http://www.openwall.com/lists/oss-security/2019/10/31/4"},{"type":"REPORT","url":"http://xenbits.xen.org/xsa/advisory-301.html"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2019-18423"}],"affected":[{"package":{"name":"xen","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/xen@4.6.5-0ubuntu1.4?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_name":"xen-hypervisor-4.4-amd64","binary_version":"4.6.5-0ubuntu1.4"},{"binary_version":"4.6.5-0ubuntu1.4","binary_name":"xen-hypervisor-4.4-arm64"},{"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_version":"4.6.5-0ubuntu1.4","binary_name":"xen-hypervisor-4.5-armhf"},{"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_version":"4.6.5-0ubuntu1.4","binary_name":"xen-utils-4.6"},{"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/2019/UBUNTU-CVE-2019-18423.json"}},{"package":{"name":"xen","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/xen@4.9.2-0ubuntu1?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_version":"4.9.2-0ubuntu1","binary_name":"xen-hypervisor-4.7-arm64"},{"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_version":"4.9.2-0ubuntu1","binary_name":"xen-system-amd64"},{"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/2019/UBUNTU-CVE-2019-18423.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}