CVE-2017-18640
XML External Entity (XXE) vulnerability in snakeyaml (Maven)

XML External Entity (XXE) No known exploit

What is CVE-2017-18640 About?

This vulnerability is an XML External Entity (XXE) injection, specifically an entity expansion issue, in the Alias feature of SnakeYAML versions up to 1.18 during a load operation. It can lead to resource consumption or information disclosure. Exploitation is achieved by injecting malicious YAML aliases.

Affected Software

org.yaml:snakeyaml <1.26

Technical Details

The vulnerability is present in the Alias feature of SnakeYAML, prior to version 1.18. It is a variant of an XML External Entity (XXE) injection attack, often referred to as entity expansion. An attacker can craft a malicious YAML document that includes deeply nested or rapidly expanding entity aliases. When SnakeYAML processes this crafted document during a load operation, the parser attempts to resolve and expand these entities. This can lead to excessive memory or CPU consumption, causing a Denial of Service, or in some XXE related cases, allow for local file disclosure by referencing system entities.

What is the Impact of CVE-2017-18640?

Successful exploitation may allow attackers to cause a denial of service by exhausting system resources or potentially disclose local files and sensitive information.

What is the Exploitability of CVE-2017-18640?

Exploitation requires the attacker to submit a specially crafted YAML document that is then processed by the vulnerable SnakeYAML library. The complexity is moderate, requiring an understanding of YAML syntax and entity expansion attacks. No authentication is typically required if the application accepts untrusted YAML input directly. This is generally a remote exploitation scenario, assuming the attacker can send the malicious YAML payload. The primary risk factor is the processing of untrusted YAML input without disabling or properly configuring the alias resolution feature.

What are the Known Public Exploits?

PoC Author Link Commentary
No known exploits

What are the Available Fixes for CVE-2017-18640?

Available Upgrade Options

  • org.yaml:snakeyaml
    • <1.26 → Upgrade to 1.26

Struggling with dependency upgrades?

See how Resolved Security's drop-in replacements make it simple.

Book a demo

Additional Resources

What are Similar Vulnerabilities to CVE-2017-18640?

Similar Vulnerabilities: CVE-2021-26296 , CVE-2020-2555 , CVE-2017-1000049 , CVE-2017-5648 , CVE-2016-3092