Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain high-privilege local access to Puppet agent host
-
DeliveryIdentify resource_api-backed resource types managing sensitive parameters
-
ExploitLocate agent transaction state cache on filesystem
-
ExecutionRead cleartext credential values from cache
-
ImpactUse extracted credentials for lateral movement to managed services
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection File/disk data protection
|
| Exploitation Conditions | Exploitation requires high-privilege local access to the Puppet agent host with sufficient filesystem permissions to read the agent's transaction state cache directory. Critically, the vulnerability only manifests when custom or third-party resource types are implemented using the Puppet resource_api AND those types declare one or more parameters with the sensitive: true flag - resource types built on Puppet's older native type API are unaffected. Standard Puppet built-in types (file, package, service, user, etc.) do not use resource_api and are not impacted. The CVSS PR:H rating confirms the attacker must already possess elevated local privileges, limiting exploitation to insiders, already-compromised hosts, or attackers who have achieved prior local access. Exploitation is not remotely triggerable and does not affect default Puppet configurations that use only built-in types. |
| Impact | The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:H/UI:N/VC:H) correctly characterizes this as a local, high-privilege issue. An attacker must already hold high-privilege or root-level local access on the Puppet agent host to reach the cache directory, which substantially limits the exploitable population. The VC:H rating is justified given that exposed credentials (passwords, tokens) could enable lateral movement to systems Puppet manages. No EPSS data was provided, no CISA KEV listing exists, and no public exploit code has been identified - collectively these signals indicate low active exploitation pressure at time of analysis. The real-world priority is moderate: organizations using resource_api-backed custom types that manage secrets are meaningfully exposed, while those using only built-in Puppet types are unaffected. The vendor score of 6.7 is appropriate; this is not a fire-drill emergency but warrants prompt patching in sensitive environments. |
| Exploit ScenarioDerived | An attacker with existing high-privilege or root-level local access to a Puppet agent node navigates to the agent's transaction state cache directory and reads the cached catalog or state file, extracting passwords or API tokens that were managed by resource_api-backed resource types. The recovered credentials are then used to authenticate to downstream services - databases, cloud providers, or other infrastructure - that Puppet manages on that node. No public exploit or automated tooling exists; this requires manual filesystem inspection. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 03, 2026
Cleartext storage of sensitive parameters in Puppet's resource_api module (versions 1.5.0-1.9.1 and 2.0.0) causes passwords and other credential values to persist unmasked in the Puppet agent's local transaction state cache. The sensitive flag - intended to prevent exactly this exposure - is silently dropped during resource_api parameter processing, meaning any resource type built on this API and declaring sensitive parameters leaks those values to the cache filesystem. No public exploit exists and this is not listed in CISA KEV, but the confidentiality impact is high for environments where Puppet manages secrets such as database passwords or API tokens.
RemediationAI
Upgrade to puppet resource_api 1.9.2 (for the 1.x line) or 2.0.1 (for the 2.x line), which are bundled with Puppet Core 8.20.0 and Puppet Enterprise 2023.8.10 or PE 2025.11.0 respectively. Full details are at https://portal.perforce.com/s/cve/a91Qi000003511lIAA/cve20268804-cleartext-storage-of-sensitive-information-for-puppet-resource-api. As a compensating control prior to patching, tighten filesystem permissions on the Puppet agent cache directory to restrict read access exclusively to the puppet service account and root, reducing the number of local users who can extract the cached values; note this does not prevent the cleartext write, only limits who can read it. After patching, rotate any credentials managed by resource_api-backed resource types that declared sensitive parameters, as those values may have been cached in cleartext during the exposure window.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Puppet resource_api is a Ruby gem providing a modern interface for authoring Puppet resource types. When a resource type schema declares a parameter with sensitive: true, Puppet is expected to wrap the value in a Puppet::Pops::Types::PSensitiveType::Sensitive object, which suppresses the value from appearing in logs, reports, and state caches. CVE-2026-8804 (CWE-313: Cleartext Storage of Sensitive Information) is a flag-propagation failure: the resource_api module drops the sensitive wrapper during its internal processing pipeline, allowing raw parameter values to be written unredacted into the agent's local transaction state cache (typically under /opt/puppetlabs/puppet/cache/ on Linux). This affects only resource types implemented via the resource_api interface; Puppet's older built-in type system is not impacted. Affected CPEs are cpe:2.3:a:perforce:puppet_core and cpe:2.3:a:perforce:puppet_enterprise, covering Puppet Core 8.x and Puppet Enterprise 2023.8.x and 2025.x.
Know when Puppet Core gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:L
Local filesystem read of cache requires high-privilege access; only confidentiality is impacted - no integrity or availability impact from this flaw alone.
Primary rating from Vendor (Perforce).
CVSS VectorVendor: Perforce
DescriptionCVE.org
Puppet resource_api (shipped in Puppet Core 8.x and Puppet Enterprise 2023.8.x and 2025.x) does not preserve the sensitive flag on parameters defined via the resource-api, causing values such as passwords to be stored in cleartext in the agent's local transaction state cache. Affected versions of the resource_api module include all versions between 1.5.0 - 1.9.1 and 2.0.0 The issue was fixed in puppet resource_api 1.9.2 and 2.0.1 released with Puppet Core 8.20.0 and PE 2023.8.10 & PE 2025.11.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-41516
GHSA-rh7m-r3xm-v5xg
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB