turbot/steampipe-mod-kubernetes-compliance

Control: DaemonSet containers should not allow privilege escalation

Description

Containers in a DaemonSet should not allow privilege escalation. A container running with the `allowPrivilegeEscalation` flag set to true may have processes that can gain more privileges than their parent.

Usage

Run the control in your terminal:

powerpipe control run kubernetes_compliance.control.daemonset_container_privilege_escalation_disabled

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run kubernetes_compliance.control.daemonset_container_privilege_escalation_disabled --share

SQL

This control uses a named query:

select
coalesce(uid, concat(path, ':', start_line)) as resource,
case
when c -> 'securityContext' ->> 'allowPrivilegeEscalation' = 'false' then 'ok'
else 'alarm'
end as status,
case
when c -> 'securityContext' ->> 'allowPrivilegeEscalation' = 'false' then c ->> 'name' || ' not allowed root elevation.'
else c ->> 'name' || ' allowed root elevation.'
end as reason,
name as daemonset_name
, coalesce(context_name, '') as context_name, namespace, source_type, coalesce(path || ':' || start_line || '-' || end_line, '') as path
from
kubernetes_daemonset,
jsonb_array_elements(template -> 'spec' -> 'containers') as c;

Tags