CVE-2026-23766 Overview
CVE-2026-23766 is a command injection vulnerability affecting Istio service mesh through version 1.28.2. The vulnerability allows attackers with adjacent network access and low privileges to inject iptables rules via the traffic.sidecar.istio.io/excludeInterfaces annotation, potentially altering firewall behavior within a Kubernetes cluster environment.
Critical Impact
Malicious actors with pod creation privileges can manipulate iptables rules to modify network traffic flow and bypass intended firewall restrictions in Istio-managed Kubernetes environments.
Affected Products
- Istio through version 1.28.2
- Kubernetes clusters running affected Istio versions with sidecar injection enabled
Discovery Timeline
- 2026-01-15 - CVE-2026-23766 published to NVD
- 2026-01-16 - Last updated in NVD database
Technical Details for CVE-2026-23766
Vulnerability Analysis
This vulnerability is classified under CWE-88 (Improper Neutralization of Argument Delimiters in a Command), commonly known as Argument Injection. The flaw exists in how Istio's sidecar proxy processes the traffic.sidecar.istio.io/excludeInterfaces annotation when configuring network traffic interception rules.
The annotation is intended to allow legitimate exclusion of specific network interfaces from sidecar traffic capture. However, insufficient input validation allows specially crafted annotation values to inject arbitrary iptables rule arguments. This can enable an attacker to manipulate the firewall rules that govern traffic flow within a pod's network namespace.
It's worth noting that the vulnerability reporter indicated that this may not represent a significant security vulnerability since pod creators already have the ability to exclude sidecar injection entirely through other mechanisms. Nevertheless, the ability to inject arbitrary iptables rules through annotation manipulation presents a potential integrity risk in multi-tenant Kubernetes environments where annotation validation may be expected as a security boundary.
Root Cause
The root cause stems from improper sanitization of user-controlled input in the traffic.sidecar.istio.io/excludeInterfaces annotation. When Istio's init container or CNI plugin processes this annotation to configure iptables rules, the annotation value is incorporated into shell commands without adequate argument delimiter neutralization. This allows attackers to break out of the intended parameter context and inject additional iptables arguments or rules.
Attack Vector
The attack requires adjacent network access with low privileges, specifically the ability to create or modify pod specifications in a Kubernetes cluster running Istio. An attacker with pod creation permissions can craft a malicious annotation that, when processed by Istio's traffic management components, results in the injection of unintended iptables rules.
The exploitation scenario involves:
- An attacker with pod creation privileges crafts a pod specification with a malicious traffic.sidecar.istio.io/excludeInterfaces annotation
- When the pod is created, Istio's sidecar injection process reads the annotation
- The init container or CNI plugin processes the annotation value to configure iptables
- Due to insufficient input validation, injected iptables arguments are executed
- The resulting firewall configuration differs from the intended security posture
The vulnerability mechanism involves the processing of Kubernetes pod annotations by Istio's network configuration components. When the excludeInterfaces annotation is parsed, the values are used to construct iptables commands. Without proper argument delimiter sanitization, specially crafted values can inject additional iptables parameters or rules. For technical details, see the GitHub Issue Discussion.
Detection Methods for CVE-2026-23766
Indicators of Compromise
- Unusual or unexpected values in traffic.sidecar.istio.io/excludeInterfaces annotations on pods
- Modified iptables rules in pod network namespaces that don't match expected Istio configurations
- Pods with annotations containing special characters such as semicolons, ampersands, or newlines in interface exclusion values
Detection Strategies
- Implement admission controllers (e.g., OPA Gatekeeper, Kyverno) to validate and restrict annotation values on pod specifications
- Deploy runtime security monitoring to detect unexpected iptables rule modifications within container namespaces
- Audit Kubernetes API server logs for pod creation or modification events with suspicious annotation patterns
Monitoring Recommendations
- Monitor for pods with traffic.sidecar.istio.io/excludeInterfaces annotations that contain unexpected characters or patterns
- Implement network policy monitoring to detect traffic flows that bypass expected Istio sidecar interception
- Enable Istio control plane logging to capture annotation processing events for forensic analysis
How to Mitigate CVE-2026-23766
Immediate Actions Required
- Review all deployed pods for suspicious traffic.sidecar.istio.io/excludeInterfaces annotation values
- Implement Kubernetes admission policies to validate and restrict annotation content
- Audit pod creation permissions across namespaces and apply principle of least privilege
- Monitor the GitHub Pull Request for official patch availability
Patch Information
As of the last NVD update on 2026-01-16, organizations should monitor the official Istio project channels for security updates. The issue has been acknowledged in GitHub Issue #58781 and a fix is being tracked in Pull Request #58785. Upgrade to a patched Istio version once available.
Workarounds
- Deploy admission webhooks to sanitize or reject pod specifications with suspicious annotation values containing shell metacharacters
- Restrict pod creation permissions to trusted users and service accounts only
- Consider disabling the excludeInterfaces annotation functionality if not required in your environment
- Implement namespace-level policies to control which annotations can be set on pods
# Example Kyverno policy to validate excludeInterfaces annotation
# Save as validate-istio-annotation.yaml
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: validate-istio-exclude-interfaces
spec:
validationFailureAction: Enforce
rules:
- name: validate-annotation-value
match:
any:
- resources:
kinds:
- Pod
validate:
message: "Invalid characters in excludeInterfaces annotation"
pattern:
metadata:
annotations:
traffic.sidecar.istio.io/excludeInterfaces: "^[a-zA-Z0-9,_-]*$"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


