ID CVE-2020-29566
Summary An issue was discovered in Xen through 4.14.x. When they require assistance from the device model, x86 HVM guests must be temporarily de-scheduled. The device model will signal Xen when it has completed its operation, via an event channel, so that the relevant vCPU is rescheduled. If the device model were to signal Xen without having actually completed the operation, the de-schedule / re-schedule cycle would repeat. If, in addition, Xen is resignalled very quickly, the re-schedule may occur before the de-schedule was fully complete, triggering a shortcut. This potentially repeating process uses ordinary recursive function calls, and thus could result in a stack overflow. A malicious or buggy stubdomain serving a HVM guest can cause Xen to crash, resulting in a Denial of Service (DoS) to the entire host. Only x86 systems are affected. Arm systems are not affected. Only x86 stubdomains serving HVM guests can exploit the vulnerability.
References
Vulnerable Configurations
  • cpe:2.3:o:xen:xen:3.2.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:3.2.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.0.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.0.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.0.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.0.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.0.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.0.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.0.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.0.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.0.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.0.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.1.5:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.1.5:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.2.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.2.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.2.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.2.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.2.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.2.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.3.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.3.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.4.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.4.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.5.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.5.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.5:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.5:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.6.6:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.6.6:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.7.6:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.7.6:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.8.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.8.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.8.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.8.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.8.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.8.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.8.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.8.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.8.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.8.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.9.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.9.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.9.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.9.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.9.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.9.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.10.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.10.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.10.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.10.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.11.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.11.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.11.4:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.11.4:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.12.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.12.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.12.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.12.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.13.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.13.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.13.1:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.13.1:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.13.2:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.13.2:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.13.3:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.13.3:*:*:*:*:*:x86:*
  • cpe:2.3:o:xen:xen:4.14.0:*:*:*:*:*:x86:*
    cpe:2.3:o:xen:xen:4.14.0:*:*:*:*:*:x86:*
  • cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
    cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
  • cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*
    cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*
  • cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
    cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
CVSS
Base: 4.9 (as of 10-12-2021 - 02:00)
Impact:
Exploitability:
CWE CWE-674
CAPEC
  • XML Oversized Payloads
    Applications often need to transform data in and out of the XML format by using an XML parser. It may be possible for an adversary to inject data that may have an adverse effect on the XML parser when it is being processed. By supplying oversized payloads in input vectors that will be processed by the XML parser, an adversary can cause the XML parser to consume more resources while processing, causing excessive memory consumption and CPU utilization, and potentially cause execution of arbitrary code. An adversary's goal is to leverage parser failure to his or her advantage. In many cases this type of an attack will result in a XML Denial of Service (XDoS) due to an application becoming unstable, freezing, or crashing. However it is possible to cause a crash resulting in arbitrary code execution, leading to a jump from the data plane to the control plane [R.231.1]. XDoS is most closely associated with web services, SOAP, and Rest, because remote service requesters can post malicious XML payloads to the service provider designed to exhaust the service provider's memory, CPU, and/or disk space. The main weakness in XDoS is that the service provider generally must inspect, parse, and validate the XML messages to determine routing, workflow, security considerations, and so on. It is exactly these inspection, parsing, and validation routines that XDoS targets. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends.
  • XML Nested Payloads
    Applications often need to transform data in and out of the XML format by using an XML parser. It may be possible for an adversary to inject data that may have an adverse effect on the XML parser when it is being processed. By nesting XML data and causing this data to be continuously self-referential, an adversary can cause the XML parser to consume more resources while processing, causing excessive memory consumption and CPU utilization. An adversary's goal is to leverage parser failure to his or her advantage. In most cases this type of an attack will result in a XML Denial of Service (XDoS) due to an application becoming unstable, freezing, or crashing. However it may be possible to cause a crash resulting in arbitrary code execution, leading to a jump from the data plane to the control plane [R.230.1]. XDoS is most closely associated with web services, SOAP, and Rest, because remote service requesters can post malicious XML payloads to the service provider designed to exhaust the service provider's memory, CPU, and/or disk space. The main weakness in XDoS is that the service provider generally must inspect, parse, and validate the XML messages to determine routing, workflow, security considerations, and so on. It is exactly these inspection, parsing, and validation routines that XDoS targets. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends.
Access
VectorComplexityAuthentication
LOCAL LOW NONE
Impact
ConfidentialityIntegrityAvailability
NONE NONE COMPLETE
cvss-vector via4 AV:L/AC:L/Au:N/C:N/I:N/A:C
refmap via4
debian DSA-4812
fedora
  • FEDORA-2020-64859a826b
  • FEDORA-2020-df772b417b
misc https://xenbits.xenproject.org/xsa/advisory-348.html
Last major update 10-12-2021 - 02:00
Published 15-12-2020 - 17:15
Last modified 10-12-2021 - 02:00
Back to Top