SnakeYaml Constructor Type Bypass RCE via Unsafe Deserialization Fixed in 2.0
CVE-2022-1471 Published on December 1, 2022
Remote Code execution in SnakeYAML
SnakeYaml's Constructor() class does not restrict types which can be instantiated during deserialization. Deserializing yaml content provided by an attacker can lead to remote code execution. We recommend using SnakeYaml's SafeConsturctor when parsing untrusted content to restrict deserialization. We recommend upgrading to version 2.0 and beyond.
Vulnerability Analysis
CVE-2022-1471 can be exploited with network access, and requires small amount of user privileges. This vulnerability is considered to have a low attack complexity. Public availability of a proof of concept (POC) exploit exists for CVE-2022-1471. The potential impact of an exploit of this vulnerability is considered to have a high impact on confidentiality and integrity, and a small impact on availability.
Weakness Type
Improper Input Validation
The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
Products Associated with CVE-2022-1471
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2022-1471 are published in these products:
Affected Versions
SnakeYAML:- Before and including 2.0 is affected.
Vulnerable Packages
The following package name and versions may be associated with CVE-2022-1471
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| maven | org.yaml:snakeyaml | <= 1.30 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.