Skip to main content

More Info:

There are a variety of CNI plugins available for Kubernetes. If the CNI in use does not support Network Policies it may not be possible to effectively restrict traffic in the cluster.

Risk Level

Low

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CIS EKS
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Manual Steps

  1. Identify the CNI in use and relevant namespaces
    • On any machine with kubectl access:
    • Confirm that the AWS VPC CNI (aws-node) is the plugin in use.
  2. Gather the currently running AWS CNI version
    • On any machine with kubectl access:
    • Record the image tag(s) and digest(s) you see (e.g. 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.16.4).
  3. Compare with the latest supported AWS CNI versions
    • In a browser, open the official AWS VPC CNI plugin documentation / release notes (for your region and EKS/Kubernetes version), for example:
      • “Amazon VPC CNI plugin for Kubernetes GitHub releases”
      • “Amazon EKS supported add-ons and versions”
    • Compare your recorded CNI image tag with the latest recommended version that is supported for your EKS/Kubernetes version and region.
    • Decide the target version (latest recommended, not just numerically latest) that is compatible with your cluster version.
  4. Assess upgrade impact and plan
    • On any machine with kubectl access, review current CNI configuration for non‑default settings that might be affected by an upgrade:
    • Note any custom environment variables, annotations, or tolerations; check the AWS documentation to ensure they are still valid in the target version.
    • Plan a maintenance window if required; upgrading the CNI can impact pod networking while DaemonSet pods roll.
  5. Perform the upgrade using your chosen method (conceptual step)
    • If you manage AWS CNI via EKS add-ons or IaC (CloudFormation/Terraform/eksctl/console), follow the corresponding AWS documentation to update the CNI to the target version you selected in step 3.
    • If you manage manifests directly, obtain the updated DaemonSet manifest from the AWS documentation for the target version, review differences, then apply it with kubectl apply -f <manifest.yml> from any machine with kubectl access.
    • This step is intentionally high-level: the exact command and method depend on how your cluster is provisioned and must follow AWS’s documented procedure.
  6. Verify the upgrade and network policy capability
    • On any machine with kubectl access:
    • Confirm that all aws-node pods are running the intended (latest supported) version.
    • Optionally, validate that network policies function as expected by creating or using an existing NetworkPolicy and confirming that traffic is allowed/denied according to the policy.
Review the IMAGE field for the AWS CNI plugin (typically amazon-k8s-cni or aws-node), for example:
  • 602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon-k8s-cni:v1.8.0
A potential problem: the tag is clearly behind current upstream releases (compare manually with AWS CNI documentation/Release Notes).
Review:
  • spec.template.spec.containers[].image for an outdated tag.
  • Any hard‑pinned image digests that do not match the latest recommended version. A problem exists if this image version is older than what AWS currently recommends for your EKS/Kubernetes version.

If different pods show different image tags or obviously old tags, that indicates:
  • Rolling update is incomplete, or
  • Some nodes are running old CNI versions.

Use the VERSION column and compare manually against AWS documentation for:
  • Minimum/required CNI version per Kubernetes/EKS version. A problem exists if your CNI image tag is below the minimum or recommended version for the node/Kubernetes version.

Use these to:
  • Confirm that AWS CNI is in use and functioning.
  • Look for log messages indicating deprecated or outdated CNI behavior. A problem exists if logs show deprecation warnings or known issues tied to old CNI releases.

Once you have:
  • The CNI DaemonSet image tag, and
  • Your cluster/EKS/Kubernetes version,
manually compare them against the AWS VPC CNI documentation and release notes. If the running image is not the latest (or at least not the AWS‑recommended version for your cluster version), this finding should be considered a problem and you should plan an upgrade outside of kubectl (e.g., via EKS add‑on or your cluster provisioning/IaC tooling).

Additional Reading: