Posted June 18, 2013

Status

Resolved in Puppet 2.7.22, 3.2.2

Resolved in Puppet Enterprise 2.8.2

Credits

When making REST api calls, the puppet master takes YAML from an untrusted client, deserializes it, and then calls methods on the resulting object. A YAML payload can be crafted to cause the deserialization to construct an instance of any class available in the ruby process, which allows an attacker to execute code contained in the payload.Credit to Ben Murphy for the responsible disclosure of this vulnerability.