CVE-2025-47281CWE-20CWE-248

Kyverno's Improper JMESPath Variable Evaluation Leads to Denial of Service

High · published July 23, 2025

CVSS v3.1
7.7
EPSS
1%
Percentile
43.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.7 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00516 · 43.1th percentile
Weaknesses
CWE-20 · Improper Input Validation; CWE-248 · Uncaught Exception
Published
2025-07-23T20:35Z
EPSS history
Timeline
  • 23 JUL 20:35Z
    Kyverno's Improper JMESPath Variable Evaluation Leads to Denial of Service
    cvelistv5