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.
4331f8a7741c008aa390b37694c2381491f1dd083ba0a9941ebaf7a62f36e8ac