CVE-2019-18423
published 2019-10-31CVE-2019-18423: 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…
PriorityP349high8.8CVSS 3.1
AVNACLPRLUINSUCHIHAH
EPSS
2.06%
79.2th percentile
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->max_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->max_mapped_gfn will be updated using the original frame. It would be possible to set p2m->max_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->max_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.
Affected
11 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | debian_linux | — | — |
| debian | xen | < xen 4.11.3+24-g14b62ab3e5-1 (bookworm) | xen 4.11.3+24-g14b62ab3e5-1 (bookworm) |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| fedoraproject | fedora | — | — |
| xen | xen | >= 0 < 4.11.3+24-g14b62ab3e5-1 | 4.11.3+24-g14b62ab3e5-1 |
| xen | xen | >= 0 < 4.11.3+24-g14b62ab3e5-1 | 4.11.3+24-g14b62ab3e5-1 |
| xen | xen | >= 0 < 4.11.3+24-g14b62ab3e5-1 | 4.11.3+24-g14b62ab3e5-1 |
| xen | xen | >= 0 < 4.11.3+24-g14b62ab3e5-1 | 4.11.3+24-g14b62ab3e5-1 |
| xen | xen | 4.8 – 4.12.1 | — |
CVSS provenance
nvdv3.18.8HIGHCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvdv2.08.5HIGHAV:N/AC:M/Au:S/C:C/I:C/A:C
osv8.8HIGH
vendor_debian8.8HIGH
vendor_redhat8.8HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
GHSA-jvp4-26qw-rfm7: An issue was discovered in Xen through 4
ghsa_unreviewed·2022-05-24
CVE-2019-18423 [HIGH] CWE-193 GHSA-jvp4-26qw-rfm7: An issue was discovered in Xen through 4
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->max_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->max_mapped_gfn will be updated using the original frame. It would be possible to set p2m->max_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_transla
OSV
CVE-2019-18423: An issue was discovered in Xen through 4
osv·2019-10-31·CVSS 8.8
CVE-2019-18423 [HIGH] CVE-2019-18423: An issue was discovered in Xen through 4
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->max_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->max_mapped_gfn will be updated using the original frame. It would be possible to set p2m->max_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_transla
Red Hat
xen: add-to-physmap can be abused to DoS Arm hosts
vendor_redhat·2019-10-31·CVSS 8.8
CVE-2019-18423 [HIGH] CWE-20 xen: add-to-physmap can be abused to DoS Arm hosts
xen: add-to-physmap can be abused to DoS Arm hosts
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->max_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->max_mapped_gfn will be updated using the original frame. It would be possible to set p2m->max_mapped_gfn high enough to cover a frame that would lead p2m_get_root_pointer() to re
Debian
CVE-2019-18423: xen - An issue was discovered in Xen through 4.12.x allowing ARM guest OS users to cau...
vendor_debian·2019·CVSS 8.8
CVE-2019-18423 [HIGH] CVE-2019-18423: xen - An issue was discovered in Xen through 4.12.x allowing ARM guest OS users to cau...
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->max_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->max_mapped_gfn will be updated using the original frame. It would be possible to set p2m->max_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_transla
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts [fedora-all]
bugzilla·2019-11-12·CVSS 8.8
CVE-2019-18423 [HIGH] CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts [fedora-all]
CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple supported version
Bugzilla
CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts
bugzilla·2019-11-12·CVSS 8.8
CVE-2019-18423 [HIGH] CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts
CVE-2019-18423 xen: add-to-physmap can be abused to DoS Arm hosts
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.
Upstream advisory and patch:
http://xenbits.xen.org/xsa/advisory-301.html
Discussion:
Created xen tracking bugs for this issue:
Affects: fedora-all [bug 1771345]
---
Xen version 4.8 and newer are vulnerable.
Only Arm systems are vulnerable. x86 systems are not affected.
http://www.openwall.com/lists/oss-security/2019/10/31/4http://xenbits.xen.org/xsa/advisory-301.htmlhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2BQKX7M2RHCWDBKNPX4KEBI3MJIH6AYZ/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/I5WWPW4BSZDDW7VHU427XTVXV7ROOFFW/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IZYATWNUGHRBG6I3TC24YHP5Y3J7I6KH/https://seclists.org/bugtraq/2020/Jan/21https://security.gentoo.org/glsa/202003-56https://www.debian.org/security/2020/dsa-4602http://www.openwall.com/lists/oss-security/2019/10/31/4http://xenbits.xen.org/xsa/advisory-301.htmlhttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/2BQKX7M2RHCWDBKNPX4KEBI3MJIH6AYZ/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/I5WWPW4BSZDDW7VHU427XTVXV7ROOFFW/https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IZYATWNUGHRBG6I3TC24YHP5Y3J7I6KH/https://seclists.org/bugtraq/2020/Jan/21https://security.gentoo.org/glsa/202003-56https://www.debian.org/security/2020/dsa-4602
2019-10-31
Published