CVE-2023-54356 Overview
CVE-2023-54356 affects Kyverno versions 1.9.4 and earlier. The policy engine supports insecure 3DES cipher suites on its Transport Layer Security (TLS) endpoints. Specifically, Kyverno accepts TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA and TLS_RSA_WITH_3DES_EDE_CBC_SHA. These 64-bit block ciphers are vulnerable to the Sweet32 birthday attack described in CVE-2016-2183. An attacker observing very long-lived TLS connections carrying large volumes of traffic can recover small amounts of plaintext. The maintainers fixed the issue in Kyverno 1.9.5 and 1.10.0. This weakness falls under [CWE-326: Inadequate Encryption Strength].
Critical Impact
Attackers positioned on the network path can exploit weak 3DES cipher negotiation to recover sensitive plaintext from long-lived Kyverno TLS sessions.
Affected Products
- Kyverno versions 1.9.4 and earlier
- Kyverno admission controller TLS endpoints
- Kubernetes clusters using vulnerable Kyverno releases for policy enforcement
Discovery Timeline
- 2026-09-01 - CVE-2023-54356 published to NVD
- 2026-09-01 - Last updated in NVD database
Technical Details for CVE-2023-54356
Vulnerability Analysis
Kyverno is a policy engine designed for Kubernetes admission control and mutation. Its webhook server exposes TLS endpoints that the Kubernetes API server calls during admission review. In releases up to 1.9.4, the TLS configuration advertises 3DES-based cipher suites alongside modern algorithms. Clients that negotiate one of the weak suites establish a session protected only by a 64-bit block cipher.
The Sweet32 attack exploits birthday collisions in ciphers with a 64-bit block size. After roughly 2^32 blocks encrypted under the same key, the probability of a collision approaches certainty. Recovered collisions allow an attacker to derive short segments of plaintext such as authentication cookies or bearer tokens carried inside the TLS stream.
Root Cause
The root cause is the explicit inclusion of legacy 3DES cipher suites in the Kyverno TLS server configuration. Modern Go TLS defaults exclude these ciphers, but the Kyverno code path enabled them for backwards compatibility. The issue maps to CWE-326, inadequate encryption strength.
Attack Vector
Exploitation requires a network-adjacent attacker who can observe or influence long-lived TLS sessions to a Kyverno endpoint. The attacker must coerce cipher negotiation to TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA or TLS_RSA_WITH_3DES_EDE_CBC_SHA and capture large volumes of ciphertext under one key. Passive collection of hundreds of gigabytes of traffic can yield fragments of repeated plaintext such as tokens or admission review payloads. Because Kyverno webhooks handle every admission request in a cluster, high-throughput environments accelerate the required data volume. The vulnerability does not enable direct code execution, but the recovered plaintext can expose credentials that facilitate further compromise of the Kubernetes control plane. See the GitHub Security Advisory and the VulnCheck Advisory on Kyverno for additional detail.
Detection Methods for CVE-2023-54356
Indicators of Compromise
- TLS handshakes to Kyverno webhook endpoints negotiating TLS_RSA_WITH_3DES_EDE_CBC_SHA or TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA.
- Unusually long-lived TLS sessions to Kyverno pods carrying multi-gigabyte transfer volumes.
- Repeated reconnections from the same client to sustain a single session key over extended windows.
Detection Strategies
- Scan running Kyverno pods with nmap --script ssl-enum-ciphers -p <webhook-port> to enumerate advertised cipher suites.
- Query cluster inventory for Kyverno versions at or below 1.9.4 using kubectl get pods -n kyverno -o jsonpath on the image tag.
- Inspect TLS negotiations in service mesh or ingress telemetry for 3DES cipher identifiers.
Monitoring Recommendations
- Alert on any negotiated cipher containing 3DES or DES-CBC3 across Kubernetes admission traffic.
- Track Kyverno release versions in software bill of materials pipelines and flag deployments below 1.9.5.
- Monitor east-west traffic volumes to Kyverno services and investigate sustained flows that exceed baseline session sizes.
How to Mitigate CVE-2023-54356
Immediate Actions Required
- Upgrade Kyverno to version 1.9.5 or 1.10.0 or later in every cluster.
- Restart Kyverno pods after upgrade to ensure the new TLS configuration is loaded.
- Validate post-upgrade cipher negotiation using an external TLS scanner and confirm 3DES suites are no longer offered.
Patch Information
The Kyverno maintainers removed the 3DES cipher suites in versions 1.9.5 and 1.10.0. Full details are published in the GitHub Security Advisory GHSA-hgv6-w7r3-w4qw. Deploy the fixed release through your standard Helm or manifest workflow and verify the running image digest matches the patched build.
Workarounds
- If immediate upgrade is not possible, place Kyverno behind a TLS-terminating proxy that only advertises modern AEAD cipher suites.
- Restrict network access to Kyverno webhook endpoints so that only the Kubernetes API server can reach them, reducing exposure to passive collection.
- Enforce short TLS session lifetimes and frequent key rotation on any reverse proxy fronting Kyverno.
# Upgrade Kyverno via Helm to a patched release
helm repo update
helm upgrade kyverno kyverno/kyverno \
--namespace kyverno \
--version 1.10.0
# Verify no 3DES cipher suites are advertised
nmap --script ssl-enum-ciphers -p 443 kyverno-svc.kyverno.svc \
| grep -Ei '3des|des-cbc3'
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

