CVE-2012-3865: Path Traversal in Puppet Master
Platform
ruby
Component
puppet
Fixed in
2.6.17
CVE-2012-3865 is a path traversal vulnerability affecting Puppet master servers. This flaw allows authenticated remote users to delete arbitrary files on the server if the 'Delete' feature is enabled in the auth.conf configuration. The vulnerability impacts Puppet versions 2.6.9 and earlier, 2.7.x versions prior to 2.7.18, and Puppet Enterprise versions before 2.5.2. A fix is available in Puppet 2.6.17 and later.
Detect this CVE in your project
Upload your Gemfile.lock file and we'll tell you instantly if you're affected.
Impact and Attack Scenarios
Successful exploitation of CVE-2012-3865 could lead to significant data loss and system compromise. An attacker, having valid credentials, could delete critical configuration files, Puppet code, or even system binaries, effectively disrupting Puppet's operation and potentially rendering the master server unusable. The ability to delete arbitrary files grants a high degree of control over the affected system. While requiring authentication, the impact is severe due to the potential for widespread disruption across managed nodes relying on the Puppet master.
Exploitation Context
CVE-2012-3865 was published in 2017. There is no indication of this vulnerability being actively exploited in the wild, nor is it currently listed on KEV or EPSS. Public proof-of-concept (POC) code is available, demonstrating the vulnerability's exploitability. The low CVSS score reflects the requirement for authentication and the limited scope of potential impact.
Threat Intelligence
Exploit Status
EPSS
2.15% (84% percentile)
Affected Software
Timeline
- Published
- Modified
- EPSS updated
Mitigation and Workarounds
The primary mitigation for CVE-2012-3865 is to upgrade Puppet to version 2.6.17 or later. If upgrading immediately is not feasible, disable the 'Delete' feature in the auth.conf file. This will prevent remote users from deleting files, effectively eliminating the vulnerability. Consider implementing strict access controls and limiting user privileges within the Puppet environment to further reduce the attack surface. After upgrading, verify the fix by attempting to delete a test file using a user account with delete privileges; the operation should fail.
How to fix
No official patch available. Check for workarounds or monitor for updates.
Frequently asked questions
What is CVE-2012-3865 — Path Traversal in Puppet Master?
CVE-2012-3865 is a path traversal vulnerability in Puppet master servers allowing authenticated users to delete files if the 'Delete' feature is enabled. It affects versions ≤2.6.9 and 2.7.x before 2.7.18, and Puppet Enterprise before 2.5.2.
Am I affected by CVE-2012-3865 in Puppet Master?
You are affected if you are running Puppet versions 2.6.9 or earlier, 2.7.x versions prior to 2.7.18, or Puppet Enterprise versions before 2.5.2, and have the 'Delete' feature enabled in your auth.conf file.
How do I fix CVE-2012-3865 in Puppet Master?
Upgrade to Puppet 2.6.17 or later. Alternatively, disable the 'Delete' feature in your auth.conf file until you can upgrade.
Is CVE-2012-3865 being actively exploited?
There is no current evidence of CVE-2012-3865 being actively exploited in the wild, but public POC code exists.
Where can I find the official Puppet advisory for CVE-2012-3865?
Refer to the Puppet security advisory: https://puppet.com/security/advisories/cve-2012-3865
Is your project affected?
Upload your dependency file and we'll tell you instantly if this and other CVEs hit you.
Detect this CVE in your project
Upload your Gemfile.lock file and we'll tell you instantly if you're affected.
Scan your Ruby project now — no account
Upload your Gemfile.lock and get the vulnerability report instantly. No account. Uploading the file is just the start: with an account you get continuous monitoring, Slack/email alerts, multi-project and white-label reports.
Drag & drop your dependency file
composer.lock, package-lock.json, requirements.txt, Gemfile.lock, pubspec.lock, Dockerfile...