CVE-2013-3567 (Unauthenticated Remote Code Execution Vulnerability)

  • Posted June 18, 2013

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.


  • Resolved in Puppet 2.7.22, 3.2.2
  • Resolved in Puppet Enterprise 2.8.2


Credit to Ben Murphy for the responsible disclosure of this vulnerability.