More Info:
Do not generally permit containers to be run with the hostIPC flag set to true.Risk Level
CriticalAddress
SecurityCompliance 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
Remediation
Manual Steps
Manual Steps
-
Identify namespaces that currently admit
hostIPCpods- Run on: any machine with kubectl access
-
For each affected namespace, create a baseline PodSecurity admission label set (example for
prod-apps)- Run on: any machine with kubectl access
-
Add a
LimitRangeto blockhostIPCin the namespace (example forprod-apps)- Run on: any machine with kubectl access
- Create a manifest file
limitrange-no-hostipc-prod-apps.yamlwith: - Apply it:
-
(If PodSecurity admission is not available) Define an admission control policy resource for the namespace (e.g., Kyverno)
- Run on: any machine with kubectl access
- Example Kyverno policy manifest
kyverno-disallow-hostipc-prod-apps.yaml: - Apply it:
-
Clean up or recreate existing pods that currently use
hostIPCin each namespace- Run on: any machine with kubectl access
- Then update the corresponding Deployment/StatefulSet/Job manifests to remove
hostIPC: truefromspec.template.spec.
-
Verification (all namespaces)
- Run on: any machine with kubectl access
- Confirm the output is:
NO_HOSTIPC
Using kubectl
Using kubectl
Automation
Automation

