More Info:
Allow Kubelet to manage iptables.Risk Level
HighAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CIS GKE
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- 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
Remediation
Manual Steps
Manual Steps
-
On every worker node, check how kubelet is configured (config file vs. flags):
-
If kubelet uses a config file at
/var/lib/kubelet/config.yaml, edit it and setmakeIPTablesUtilChains: true:If the file is in JSON format instead (e.g./etc/kubernetes/kubelet/kubelet-config.json), ensure it contains: -
Ensure no systemd drop-in overrides this setting on the worker node:
If found in
/etc/systemd/system/kubelet.service.d/10-kubelet-args.conf, remove that flag: -
If your environment configures kubelet only via executable arguments, ensure the flag is present and set to true in
/etc/systemd/system/kubelet.service.d/10-kubelet-args.confon the worker node: -
Restart kubelet on the worker node to apply changes:
-
Verify on the worker node that kubelet is running and (if needed) inspect live config:
Using kubectl
Using kubectl
kubectl cannot modify kubelet host-level configuration or process flags, so this finding cannot be fixed via the Kubernetes API. The required change must be made directly on every worker node (editing
/var/lib/kubelet/config.yaml or the systemd drop-in under /etc/systemd/system/kubelet.service.d/); follow the Manual Steps section to implement and verify the fix.Automation
Automation

