Kyverno's Improper JMESPath Variable Evaluation Leads to Denial of Service
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-248.
Summary
Kyverno is a policy engine designed for cloud native platform engineering teams. In versions 1.14.1 and below, a Denial of Service (DoS) vulnerability exists due to improper handling of JMESPath variable substitutions. Attackers with permissions to create or update Kyverno policies can craft expressions using the {{@}} variable combined with a pipe and an invalid JMESPath function (e.g., {{@ | non_existent_function }}). This leads to a nil value being substituted into the policy structure. Subsequent processing by internal functions, specifically getValueAsStringMap, which expect string values, results in a panic due to a type assertion failure (interface {} is nil, not string). This crashes Kyverno worker threads in the admission controller and causes continuous crashes of the reports controller pod. This is fixed in version 1.14.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| kyverno | kyverno | before 1.14.2 | 1.14.2 | Patch available | CNA |
| — | github.com/kyverno/kyverno (Go) | before 1.14.2 | 1.14.2 | Patch available | GHSA-r5p3-955p-5ggq |
- kyverno Vendorkyverno Affected before 1.14.2 Fixed in 1.14.2 Patch available CNA
- github.com/kyverno/kyverno (Go) Vendor— Affected before 1.14.2 Fixed in 1.14.2 Patch available GHSA-r5p3-955p-5ggq
Remediation
- Fix · CNA kyverno (kyverno) Fixed in 1.14.2
- Fix · GHSA-r5p3-955p-5ggq github.com/kyverno/kyverno (Go) Fixed in 1.14.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2025-47281
- 2026-10-03 Alias added: GHSA-r5p3-955p-5ggq
References
More Kyverno vulnerabilities
- TI-2026-17733 Kyverno Cross-Namespace Privilege Escalation via Policy apiCall CVSS 3.1CRITICAL 10.0
- TI-2026-29924 Kyverno: ServiceAccount token leaked to external servers via apiCall service URL CVSS 3.1CRITICAL 9.1
- TI-2026-29524 kyverno apicall servicecall implicit bearer token injection leaks kyverno serviceaccount token CVSS 3.1HIGH 8.1
- TI-2025-21189 Kyverno ignores subjectRegExp and IssuerRegExp CVSS 3.1HIGH 8.0
- TI-2026-30072 Kyverno Controller Denial of Service via forEach Mutation Panic CVSS 3.1HIGH 7.7
- TI-2026-29707 Kyverno: Cross-Namespace Read Bypasses RBAC Isolation (CVE-2026-22039 Incomplete Fix) CVSS 3.1HIGH 7.7
Sources
- CVE-2025-47281 · CVE Program
- CVE-2025-47281 · NVD
- FIRST EPSS
- GHSA-r5p3-955p-5ggq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences