CVE-2017-2292 Deserialization in mcollective, Puppet, Puppet Enterprise
An attacker can execute arbitrary code on the server by sending malicious YAML data to MCollective agents due to unsafe deserialization.
- Exploited in the wild
- Not known
- Login needed
- An administrator
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2017-2292?
CVE-2017-2292 is a critical unsafe deserialization vulnerability in mcollective, Puppet, Puppet Enterprise, published on 30 Jun 2017. An attacker needs administrator access to exploit it, with no action from the victim.
Official description
Versions of MCollective prior to 2.10.4 deserialized YAML from agents without calling safe_load, allowing the potential for arbitrary code execution on the server. The fix for this is to call YAML.safe_load on input. This has been tested in all Puppet-supplied MCollective plugins, but there is a chance that third-party plugins could rely on this insecure behavior.
Weakness: CWE-502
Which versions are affected by CVE-2017-2292?
It affects 1 product.
Products include Puppet Mcollective.
How do I fix CVE-2017-2292?
Upgrade to a fixed version.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2017-2292 being exploited?
There is no known exploitation of CVE-2017-2292 in the wild and no public exploit code.
Sources
Also known as DEBIAN-CVE-2017-2292, GHSA-9hgj-f7f3-cph7, UBUNTU-CVE-2017-2292.