TL;DR
A full proof-of-concept exploit is now public for CVE-2026-115731, a critical Puppet Server RCE flaw rated CVSS 4.0 9.4. The OpenVox project’s GitHub advisory includes a working malicious report that runs a shell command on the server. Vox Pupuli, Perforce and the reporting researcher at Neodyme disclosed the bug on November 3, 2026.
Any agent holding a signed certificate can run code on an OpenVox or Puppet server by sending a crafted report. A second bug, CVE-2026-115732 (CVSS 9.0), lets one node impersonate another. Exploit details are public, so update OpenVox or Puppet Enterprise today.
- Product: Perforce Puppet Enterprise
- Vulnerabilities: 2 flaws (CVE-2026-115731, CVE-2026-115732)
- Highest severity: 9.4 (Critical · CVSSv4)
- Worst impact: Report Deserialization Code Execution
- Status: No confirmed exploitation yet; patches available
- Action: Update to 2023.8.13, 2025.12.1, 2026.0.1 now
| CVE | CVSS (CVSSv4) | Type | Fixed in | Status |
|---|---|---|---|---|
| CVE-2026-115731 | 9.4 | Report Deserialization Code Execution | 2023.8.13, 2025.12.1, 2026.0.1 | Not exploited |
| CVE-2026-115732 | 9 | Certificate Name Authorization Bypass | 2023.8.13, 2025.12.1, 2026.0.1 | Not exploited |
Why It Matters
Puppet servers manage configuration for whole fleets of machines. As a result, one compromised server can reach every node it controls. The advisory warns that code execution as the puppet user “gives access to the CA signing key.”
The risk grows with autosigning. “In configuration with autosign (which is common for enterprise deployment), this is an unauthenticated attack chain,” the advisory states. An attacker could simply request a certificate and then launch the attack.
Disclosure is now complete. The OpenVox GHSA-ffr6-rwpm-p5wq advisory walks through the vulnerable code path and ships a sample exploit. In addition, Neodyme published its own Puppet RCE research write-up. So far, no exploitation in the wild has been confirmed. Still, a public proof-of-concept exploit shortens the time before attacks begin. Defenders should assume attackers have read the same details.
How the Attack Works
Report deserialization (CVE-2026-115731)
Agents send a JSON report to the server after each run. According to Vox Pupuli, an event in that report “might include a serialized Ruby object.” The server turns that text back into code when it processes the report. However, “a malicious event object can be constructed in such a way that code executes on the server when this happens.”
The GitHub advisory shows that the server trusts a type name supplied by the attacker. That type eventually reaches a Ruby class_eval call, which gives “direct code execution on the openvox-server.”
Client impersonation (CVE-2026-115732)
The trapperkeeper-authorization library treated plain hostname rules like wildcards. Consequently, “a certificate name of evil.target.example.com would be allowed to impersonate target.example.com.” In Puppet Enterprise, Perforce says this can lead to “remote command execution on managed nodes.”
Container allowlist bypass
A third critical bug hit the container-openvoxdb image. Its startup script failed because a tool was missing, so “any certificate was allowed to access the API.”
Affected Versions
Vox Pupuli says, “All known Puppet implementations are vulnerable to the CVEs fixed in today’s releases.” That includes:
- OpenVox Server 9.1.0 and below, and 8.17.0 and below
- OpenVox Agent 9.2.0 and below, and 8.31.1 and below
- Puppet Enterprise before 2023.8.13, 2025.12.1 and 2026.0.1
- Open Source Puppet, which will receive no more updates
Patch and Mitigation
Upgrade to these versions or later:
- openvox-agent: 8.32.0 or 9.3.0
- openvox-server: 8.18.0 or 9.2.0
- openvoxdb: 8.18.0 or 9.2.0, including the container image
- Puppet Enterprise: 2023.8.13, 2025.12.1 or 2026.0.1
Patching is the only full fix for this Puppet Server RCE flaw. If you cannot upgrade yet, restrict server access to the networks that need it. Also, “disable or tighten access to autosign.” After upgrading, review custom auth.conf rules, since some “may have depended on buggy behaviour.” Full guidance is in Vox Pupuli’s critical CVE updates post.
Support Our Threat Intelligence
Find our vulnerability reports and weekly recaps helpful? Support our work today and unlock a 100% ad-free reading experience!