CVE-2025-46342

8.5 HIGH

📋 TL;DR

This vulnerability in Kyverno allows attackers with Kubernetes API access to bypass security-critical policy rules that use namespace selectors. The missing error propagation causes these policies to be silently ignored during admission review, potentially enabling malicious operations. All Kyverno deployments prior to versions 1.13.5 and 1.14.0 are affected.

💻 Affected Systems

Products:
  • Kyverno
Versions: All versions prior to 1.13.5 and 1.14.0
Operating Systems: All platforms running Kyverno
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects policies using namespace selectors in match statements. Other policies remain effective.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could bypass all namespace-selector-based policies, allowing unauthorized pod creation, privilege escalation, resource manipulation, and deployment of malicious containers in protected namespaces.

🟠

Likely Case

Attackers with existing K8s API access could bypass specific security policies, potentially deploying workloads that violate organizational security requirements or accessing restricted resources.

🟢

If Mitigated

With proper network segmentation, API authentication controls, and monitoring, the impact is limited to authorized users who might bypass specific policy restrictions.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires Kubernetes API access. The vulnerability is straightforward to trigger by making requests that should be blocked by namespace-selector policies.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.13.5 or 1.14.0

Vendor Advisory: https://github.com/kyverno/kyverno/security/advisories/GHSA-jrr2-x33p-6hvc

Restart Required: Yes

Instructions:

1. Backup current Kyverno configuration. 2. Update Kyverno to version 1.13.5 or 1.14.0 using your preferred deployment method (helm, kubectl, etc.). 3. Verify the new version is running correctly. 4. Test that namespace-selector policies are now being enforced.

🔧 Temporary Workarounds

Temporarily disable or modify namespace-selector policies

all

Remove or modify policies that rely on namespace selectors until patching is complete

kubectl delete kyverno.policies.kyverno.io <policy-name>
kubectl edit kyverno.policies.kyverno.io <policy-name>

Implement additional admission controllers

all

Use other admission controllers like OPA Gatekeeper alongside Kyverno for defense in depth

🧯 If You Can't Patch

  • Strengthen Kubernetes RBAC to limit who can make admission review requests
  • Implement network policies to restrict access to Kyverno admission webhook endpoints
  • Increase monitoring of policy violations and admission review failures

🔍 How to Verify

Check if Vulnerable:

Check Kyverno version: kubectl get deployment -n kyverno kyverno -o jsonpath='{.spec.template.spec.containers[0].image}'. If version is below 1.13.5 or 1.14.0, you are vulnerable.

Check Version:

kubectl get deployment -n kyverno kyverno -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -o ':[0-9.]*' | cut -d: -f2

Verify Fix Applied:

1. Verify Kyverno version shows 1.13.5 or higher. 2. Test that namespace-selector policies now properly block/allow requests as configured. 3. Check Kyverno logs for proper error handling in admission reviews.

📡 Detection & Monitoring

Log Indicators:

  • Kyverno admission webhook returning success for requests that should be blocked by namespace-selector policies
  • Missing or incomplete namespace selector evaluation in admission review logs
  • Increased policy violation attempts in namespaces that should be protected

Network Indicators:

  • Unusual admission review request patterns to Kyverno webhook
  • Requests bypassing expected policy restrictions

SIEM Query:

source="kyverno" AND ("namespace selector" OR "admission review") AND (error OR bypass OR "not applied")

🔗 References

📤 Share & Export