Skip to main content
← All vulnerabilities
CVE-2025-47281GO-2025-3823BIT-KYVERNO-2025-47281GHSA-R5P3-955P-5GGQ

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.14.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • kyverno kyverno

    fixed in 1.14.2

  • github.com/kyverno/kyvernoGo

    fixed in 1.14.2

References 2

GitHub · kyverno/kyverno