Skip to main content

Change namespace privileges via unshare

Event Informationโ€‹

Meaningโ€‹

  • This event indicates that a process attempted to change its namespace privileges using the unshare system call in the Kubernetes cluster.
  • It could potentially be a security concern as it may allow a process to gain elevated privileges or escape from container isolation.
  • To investigate further, you can list all the processes running in the cluster namespace using the following kubectl command: kubectl get pods --all-namespaces

Remediationโ€‹

  • Create a new ServiceAccount with restricted permissions in the target namespace:
apiVersion: v1
kind: ServiceAccount
metadata:
name: restricted-sa
namespace: <target_namespace>
  • Bind the ServiceAccount to a Role with limited privileges:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: restricted-role
namespace: <target_namespace>
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list"]
  • Finally, bind the Role to the ServiceAccount:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: restricted-rolebinding
namespace: <target_namespace>
subjects:
- kind: ServiceAccount
name: restricted-sa
namespace: <target_namespace>
roleRef:
kind: Role
name: restricted-role
apiGroup: rbac.authorization.k8s.io