Puppet allows provisioning, patching, and configuration of clients to be managed and automated.
A flaw was found in the way Puppet handled YAML content during Representational State Transfer (REST) API calls. An attacker could construct a request containing a crafted YAML payload that would cause the Puppet master to execute arbitrary code. (CVE-2013-3567)
It was found that resource_type requests could be used to cause the Puppet master to load and run Ruby files from anywhere on the file system. In non-default configurations, a local user on the Puppet master server could use this flaw to have arbitrary Ruby code executed with the privileges of the Puppet master. (CVE-2013-4761)
It was found that Puppet Module Tool (that is, running "puppet module" commands from the command line) applied incorrect permissions to installed modules. If a malicious, local user had write access to the Puppet module directory, they could use this flaw to modify the modules and therefore execute arbitrary code with the privileges of the Puppet master. (CVE-2013-4956)
Red Hat would like to thank Puppet Labs for reporting these issues. Upstream acknowledges Ben Murphy as the original reporter of CVE-2013-3567.
Note: OpenStack uses these puppet packages with PackStack, a command line utility that uses Puppet modules to support rapid deployment of OpenStack on existing servers over an SSH connection. The Puppet master is not used in this configuration, and as such, CVE-2013-3567 and CVE-2013-4761 are not exploitable in this OpenStack use case.
Users of Red Hat OpenStack 3.0 are advised to upgrade to these updated packages, which correct these issues.