OpenParable
Skip to content
← Back to skills

Cis Docker 5.20

DevOps & Security
cis-docker-5.20

Cis Docker 5.20 is an Agent Skill for devops & security published in the CyberStrikeus/CyberStrike repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Ensure mount propagation mode is not set to shared

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/CIS_benchmarks/Server_Software/Docker/CIS_Docker_Benchmark_v1.8.0/cis-docker-5.20/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cis-docker-5-20, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

5.20 Ensure mount propagation mode is not set to shared (Manual)

Profile Applicability

  • Level 1 - Docker - Linux

Description

Mount propagation mode allows mounting volumes in shared, slave or private mode on a container. Do not use shared mount propagation mode unless explicitly needed.

Rationale

A shared mount is replicated at all mounts and changes made at any mount point are propagated to all other mount points.

Mounting a volume in shared mode does not restrict any other container from mounting and making changes to that volume.

As this is likely not a desirable option from a security standpoint, this feature should not be used unless explicitly required.

Impact

None.

Audit Procedure

docker ps --quiet --all | xargs docker inspect --format '{{ .Id }}: Propagation={{range $mnt := .Mounts}}{{json $mnt.Propagation}}{{end}}'

The above command returns the propagation mode for mounted volumes. The propagation mode should not be set to shared unless needed. The above command might throw errors if there are no mounts. In that case, this recommendation is not applicable.

Remediation

Do not mount volumes in shared mode propagation. For example, do not start a container as below:

docker run <Run arguments> --volume=/hostPath:/containerPath:shared <Container Image Name or ID> <Command>

Default Value

By default, the container mounts are private.

References

  1. https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation
  2. https://docs.docker.com/engine/reference/run/#volume-shared-filesystems

CIS Controls

Controls VersionControlIG 1IG 2IG 3
v83 Data ProtectionDevelop processes and technical controls to identify, classify, securely handle, retain, and dispose of data.
v713 Data ProtectionData Protection