# CVE-2020-7943: Information disclosure in Puppet Enterprise

> Attackers on the local network can access sensitive metrics data from Puppet Server and PuppetDB endpoints due to insufficient access controls.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 11 Mar 2020
- **Updated:** 4 Aug 2024
- **Also known as:** DEBIAN-CVE-2020-7943, GHSA-xv72-7w5r-cqjw, UBUNTU-CVE-2020-7943

## What is CVE-2020-7943?

CVE-2020-7943 is a high-severity vulnerability in Puppet Puppet Enterprise, published on 11 Mar 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Puppet Server and PuppetDB provide useful performance and debugging information via their metrics API endpoints. For PuppetDB this may contain things like hostnames. Puppet Server reports resource names and titles for defined types (which may contain sensitive information) as well as function names and class names. Previously, these endpoints were open to the local network. PE 2018.1.13 & 2019.5.0, Puppet Server 6.9.2 & 5.3.12, and PuppetDB 6.9.1 & 5.2.13 disable trapperkeeper-metrics /v1 metrics API and only allows /v2 access on localhost by default. This affects software versions: Puppet Enterprise 2018.1.x stream prior to 2018.1.13 Puppet Enterprise prior to 2019.5.0 Puppet Server prior to 6.9.2 Puppet Server prior to 5.3.12 PuppetDB prior to 6.9.1 PuppetDB prior to 5.2.13 Resolved in: Puppet Enterprise 2018.1.13 Puppet Enterprise 2019.5.0 Puppet Server 6.9.2 Puppet Server 5.3.12 PuppetDB 6.9.1 PuppetDB 5.2.13

Weakness: CWE-276 (Incorrect Default Permissions)

## Which versions are affected by CVE-2020-7943?

It affects 3 products.


Products: Puppet Puppet Enterprise, Puppet Puppet Server, Puppet Puppetdb.

## How do I fix CVE-2020-7943?

Upgrade to a fixed version.

## Is CVE-2020-7943 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2020-7943 exists.

Public exploit code:

- Puppet Server/PuppetDB - Sensitive Information Disclosure (nuclei): http/cves/2020/CVE-2020-7943.yaml

## Other vulnerabilities in Puppet Puppet Enterprise

- [CVE-2023-2530](https://insights.sbomify.com/CVE-2023-2530/): Privilege escalation in Puppet Enterprise (critical 9.8)
- [CVE-2019-10694](https://insights.sbomify.com/CVE-2019-10694/): Hardcoded credentials in Puppet Enterprise (critical 9.8)
- [CVE-2018-11749](https://insights.sbomify.com/CVE-2018-11749/): Information disclosure in Puppet Enterprise (critical 9.8)
- [CVE-2021-27020](https://insights.sbomify.com/CVE-2021-27020/): Other in Puppet Enterprise (high 8.8)
- [CVE-2015-5686](https://insights.sbomify.com/CVE-2015-5686/): Cross-site request forgery in n/a (high 8.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2020-7943 and fix it if it is affected.

What it is: CVE-2020-7943 is a high-severity vulnerability in Puppet Puppet Enterprise, published on 11 Mar 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2020-7943 exists.

Affected product: Puppet Puppet Enterprise. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2020-7943/ (Markdown: https://insights.sbomify.com/CVE-2020-7943/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2020-7943
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2020-7943
- OSV: https://osv.dev/vulnerability/CVE-2020-7943

---
From sbomify Insights: https://insights.sbomify.com/CVE-2020-7943/
Summaries are generated and may contain mistakes; the official description above is the record.
