CVE-2025-47281

High

Description

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.

SeverityHigh
CVSS7.7
Exploit probability—
ProductKyverno
PublishedJul 23, 2025
First seenJul 23, 2025

How to fix

Update
  • kyverno kyverno1.14.2 or later
  • github.com/kyverno/kyverno1.14.2 or later

Affected products

ProductAffected versionsFixed in
kyverno kyvernov < 1.14.21.14.2
github.com/kyverno/kyvernoGov < 1.14.21.14.2

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.