CVE-2026-115731
Description
Deserialization of untrusted data in the report-processing code of Puppet, as used by Puppet Server, allows a client that holds a CA-signed agent certificate to execute arbitrary code on the Puppet Server as its service user by submitting a report containing a crafted rich-data type via a PUT request. Where the certificate authority autosigns requests without strong verification, an unauthenticated network attacker can obtain such a certificate.
Mitigation
Until patched, avoid autosigning certificate requests without strong verification so untrusted clients cannot obtain a CA-signed agent certificate.
--- CME Mitigation Guidance (2026-11-04) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.
The highest-value action is to enforce safe deserialization allowlists for report event types in FromDataConverter to prevent dynamic class_eval execution: upgrade to openvox-server 9.2.0 and 8.18.0, Puppet Core agent 9.1.3 and 8.22.2 (or the fixed Openvox Server/Puppetserver builds), which restricts deserialization of report events to safe expected types to block untrusted __ptype instantiation and dynamic evaluation, closing crafted JSON report containing malicious serialized rich-data event types submitted via HTTP PUT. Until patched, this is a concern on Puppet Server and OpenVox Server instances processing agent reports, so avoid autosigning certificate requests without strong verification and restrict network access to the PUT /puppet/v3/report endpoint. As a compensating measure, enforce strict allowlist validation over report payload schemas and event structures before deserialization, deploy EDR to detect anomalous child processes and post-exploitation activity spawned by the puppetserver service user, configure auditd to log unauthorized system calls and command executions initiated by the puppetserver daemon, and use Falco or eBPF runtime security to detect unexpected shell invocations or sensitive credential reads by puppetserver. These controls limit blast radius and contain exploitation, but they do not fix the underlying untrusted deserialization defect — apply the upstream patch to fully remediate.
Highest-impact CME: CME-1302 Deserialization Allowlist (Safe Loading) (high)
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 9.9 | N/A | N/A |
| Attack Vector | Network | N/A | N/A |
| Attack Complexity | Low | N/A | N/A |
| Privileges Required | Low | N/A | N/A |
| User Interaction | None | N/A | N/A |
| Scope | Changed | N/A | N/A |
| Confidentiality | High | N/A | N/A |
| Integrity Impact | High | N/A | N/A |
| Availability Impact | High | N/A | N/A |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Red Hat CVSS v3 Score Explanation
Authenticated agent-cert holder can RCE on Puppet/OpenVox server via report event deserialization; CA key access enables further compromise of managed systems (Scope Changed).
Understanding the Weakness (CWE)
Integrity
Technical Impact: Modify Application Data; Unexpected State
Attackers can modify unexpected objects or data that was assumed to be safe from modification. Deserialized data or code could be modified without using the provided accessor functions, or unexpected functions could be invoked.
Availability
Technical Impact: DoS: Resource Consumption (CPU)
If a function is making an assumption on when to terminate, based on a sentry in a string, it could easily never terminate.
Other
Technical Impact: Varies by Context
The consequences can vary widely, because it depends on which objects or methods are being deserialized, and how they are used. Making an assumption that the code in the deserialized object is valid is dangerous and can enable exploitation. One example is attackers using gadget chains to perform unauthorized actions, such as generating a shell.
Acknowledgements
Upstream acknowledges Alain (Neodyme) as the original reporter.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.