TMAegisBeta
More rules for oke

Oracle Kubernetes Engine (OKE)

TMA-OKE-4.2.5

Minimize the admission of containers with allowPrivilegeEscalation

HighLevel 1Automatedoke

Description

Minimize the admission of containers with securityContext.allowPrivilegeEscalation: true in OKE so that general workload namespaces do not permit processes to gain more privileges than their parent process. In OKE, this should be enforced through Pod Security Admission or an equivalent policy engine. Requires kubectl with cluster-wide read access (KUBECONFIG); system namespaces are excluded and listed resources must be remediated or documented as exceptions. Containers that do not explicitly set allowPrivilegeEscalation: false are reported.

How it is checked

Audit method: Shell command

shell
out=$(kubectl get pods -A -o go-template='{{range .items}}{{$ns:=.metadata.namespace}}{{$p:=.metadata.name}}{{range .spec.containers}}{{$ns}} {{$p}} {{.name}} {{with .securityContext}}{{.allowPrivilegeEscalation}}{{end}}{{"\n"}}{{end}}{{range .spec.initContainers}}{{$ns}} {{$p}} {{.name}} {{with .securityContext}}{{.allowPrivilegeEscalation}}{{end}}{{"\n"}}{{end}}{{range .spec.ephemeralContainers}}{{$ns}} {{$p}} {{.name}} {{with .securityContext}}{{.allowPrivilegeEscalation}}{{end}}{{"\n"}}{{end}}{{end}}') || exit 1
bad=$(printf '%s\n' "$out" | awk -v ex='^(kube-system|kube-public|kube-node-lease)$' 'NF && $1 !~ ex && ($4!="false")')
if [ -z "$bad" ]; then echo compliant; else printf '%s\n' "$bad" | head -n 25; fi
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Configure Pod Security Admission on workload namespaces so containers that do not explicitly set securityContext.allowPrivilegeEscalation=false are denied at admission time. In OKE, use restricted for workload namespaces, or an equivalent policy engine, because restricted requires allowPrivilegeEscalation=false. Use enforce for actual remediation, since warn and audit only report violations and do not block pod creation. Label each workload namespace to enforce restricted. kubectl label ns NAMESPACE pod-security.kubernetes.io/enforce=restricted --overwrite Add warn and audit during rollout if you want visibility into violations before or alongside enforcement.

Properties

Operating systems
Any
Tags
okepoliciespod-security
Reference
CIS Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) Benchmark v2.0.0 - 4.2.5 Minimize the admission of containers with allowPrivilegeEscalation

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target oke