More Info:
Running the latest CNI plugin version ensures the cluster benefits from the most recent security fixes and NetworkPolicy support. Review the CNI plugin documentation and upgrade as needed.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS AKS
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify the CNI plugin in use and its version
- Run on: any machine with
kubectlaccess
- Look for the AWS VPC CNI DaemonSet (commonly
aws-node). Then get its image:
- Run on: any machine with
-
Map the running image to an AWS CNI release version
- Take the image from step 1 (for example
602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.15.4) and compare it with the current releases: - Open in a browser:
- Determine whether the running tag (e.g.
v1.15.4) is the latest stable version recommended for your EKS and Kubernetes versions.
- Take the image from step 1 (for example
-
Review compatibility and upgrade guidance
- From the AWS docs page, confirm:
- The latest supported CNI version for your EKS/Kubernetes version.
- Any upgrade prerequisites or migration steps (e.g., environment variables, config changes in
aws-nodeDaemonSet, IAM permissions).
- If your current version is not the latest compatible version, plan an upgrade window (DaemonSet update causes rolling restart of CNI pods on all nodes, which can affect networking).
- From the AWS docs page, confirm:
-
Upgrade the AWS CNI plugin (if not latest compatible)
- Run on: any machine with
kubectlaccess - If you manage CNI via
eksctl/Terraform, follow that tool’s documented method instead of directkubectledits. If you manage it directly with manifests, update the DaemonSet image:
- This triggers a rolling update of
aws-nodeon every node; expect brief disruptions if misconfigured.
- Run on: any machine with
-
Verify the upgrade completed successfully
- Run on: any machine with
kubectlaccess
- Confirm all
aws-nodepods are running and the image tag matches the intended latest version.
- Run on: any machine with
-
Document the version and set a review cadence
- Record:
- The CNI version now in use.
- The date of the check/upgrade and the source (AWS docs / GitHub) you used.
- Establish a recurring review (e.g., quarterly) to repeat steps 1–5 and align with new AWS CNI releases and your EKS/Kubernetes upgrade schedule.
- Record:
Using kubectl
Using kubectl
- If there is no
aws-nodeDaemonSet inkube-system, this cluster is not using AWS VPC CNI; this particular CISAKS 4.4.1 control does not apply directly and you must review the actual CNI in use against its own documentation. - If
aws-nodeexists, note:- The image repository and tag under
spec.template.spec.containers[].image - Any init container images (for example,
aws-vpc-cni-init)
- The image repository and tag under
- A problem exists if:
- The image tag is a clearly older, pinned version (for example,
v1.9.3,v1.10.0, etc.) compared to the latest version listed in the AWS VPC CNI release notes/documentation. - The image tag is omitted or uses
:latest, which makes it difficult to confirm whether the running version matches the current recommended release.
- The image tag is a clearly older, pinned version (for example,
- The actual determination requires manual comparison:
- Take the image tag(s) you see (for example,
v1.12.0) and compare them to the latest stable version documented in the AWS VPC CNI plugin GitHub repository or AWS EKS documentation. - If the running version is behind, assess the upgrade notes (breaking changes, required config flags, minimum Kubernetes version) before planning an upgrade.
- Take the image tag(s) you see (for example,
- Different
aws-nodepods using different image tags suggests a partial or failed rollout; this needs to be resolved before or during a version upgrade. - Any image/tag you identify still needs manual comparison with the official AWS VPC CNI documentation to determine whether it is current.
Automation
Automation

