ID CVE-2022-41966
Summary XStream serializes Java objects to XML and back again. Versions prior to 1.4.20 may allow a remote attacker to terminate the application with a stack overflow error, resulting in a denial of service only via manipulation the processed input stream. The attack uses the hash code implementation for collections and maps to force recursive hash calculation causing a stack overflow. This issue is patched in version 1.4.20 which handles the stack overflow and raises an InputManipulationException instead. A potential workaround for users who only use HashMap or HashSet and whose XML refers these only as default map or set, is to change the default implementation of java.util.Map and java.util per the code example in the referenced advisory. However, this implies that your application does not care about the implementation of the map and all elements are comparable.
References
Vulnerable Configurations
  • cpe:2.3:a:xstream_project:xstream:-:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:-:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.3:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.3:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.4:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.4:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.5:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.5:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.6:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.6:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.6:-:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.6:-:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:0.6:rc1:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:0.6:rc1:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.0.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.0.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.1.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.1.3:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.3:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.2:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.2:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.3:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.3:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.4:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.4:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.5:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.5:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.6:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.6:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.7:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.7:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.8:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.8:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.9:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.9:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.10:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.10:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.11:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.11:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.11.1:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.11.1:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.12:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.12:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.13:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.13:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.14:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.14:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.15:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.15:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.16:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.16:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.17:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.17:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.18:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.18:*:*:*:*:*:*:*
  • cpe:2.3:a:xstream_project:xstream:1.4.19:*:*:*:*:*:*:*
    cpe:2.3:a:xstream_project:xstream:1.4.19:*:*:*:*:*:*:*
CVSS
Base: None
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
Impact
ConfidentialityIntegrityAvailability
Last major update 27-06-2023 - 14:04
Published 28-12-2022 - 00:15
Last modified 27-06-2023 - 14:04
Back to Top