CVE-2020-7942 Improper Certificate Validation in Puppet
Attackers with valid certificates can access other nodes' catalogs by modifying facts, exposing sensitive infrastructure data.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-7942?
CVE-2020-7942 is a medium-severity missing authorization vulnerability in Puppet, published on 19 Feb 2020. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Previously, Puppet operated on a model that a node with a valid certificate was entitled to all information in the system and that a compromised certificate allowed access to everything in the infrastructure. When a node's catalog falls back to the `default` node, the catalog can be retrieved for a different node by modifying facts for the Puppet run. This issue can be mitigated by setting `strict_hostname_checking = true` in `puppet.conf` on your Puppet master. Puppet 6.13.0 and 5.5.19 changes the default behavior for strict_hostname_checking from false to true. It is recommended that Puppet Open Source and Puppet Enterprise users that are not upgrading still set strict_hostname_checking to true to ensure secure behavior. Affected software versions: Puppet 6.x prior to 6.13.0 Puppet Agent 6.x prior to 6.13.0 Puppet 5.5.x prior to 5.5.19 Puppet Agent 5.5.x prior to 5.5.19 Resolved in: Puppet 6.13.0 Puppet Agent 6.13.0 Puppet 5.5.19 Puppet Agent 5.5.19
Weakness: CWE-295
Which versions are affected by CVE-2020-7942?
4 open source packages ship an affected version, including puppet. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
puppet RubyGems | All versions | 5.5.19 |
puppet RubyGems | All versions | 5.5.19 |
puppet RubyGems | From 6.0.0 | 6.13.0 |
puppet RubyGems | From 6.0.0 | 6.13.0 |
Linux distribution packages (1)
puppet SUSE:Linux Enterprise Module for Advanced Systems Management 12 | All versions | 3.8.5-15.12.1 |
Products include Puppet Puppet, Puppet Puppet Agent.
How do I fix CVE-2020-7942?
Upgrade puppet to a fixed version for your release line: 5.5.19 or 6.13.0.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2020-7942 being exploited?
There is no known exploitation of CVE-2020-7942 in the wild and no public exploit code.
Other vulnerabilities in Puppet
Sources
Also known as DEBIAN-CVE-2020-7942, GHSA-gqvf-892r-vjm5, SUSE-SU-2020:1057-1.