T08 · Insecure Dependencies
- Location
docker-compose.yml:3- Finding
Mutable Container Image Allows Unreviewed Dependency Changes
- Content
View full analysis
Vulnerability Details
File Location:
docker-compose.yml:3
Vulnerability Type: Unpinned third-party container dependency
Risk Level: MediumVulnerable Code:
yaml image: rediscommander/redis-commander:latestTechnical Analysis
The Redis Commander service uses the mutable
latestimage tag without pinning a reviewed version or immutable image digest. Consequently, separate deployments of the same project can execute different image contents. The effective container payload can change after this project has been audited without any modification to the repository.This container receives the Redis password and HTTP authentication credentials through environment variables and is connected to the shared Docker network containing Redis. Therefore, compromise of the upstream repository, registry account, publication pipeline, or mutable tag could cause an attacker-controlled image to execute with direct access to those credentials and network resources.
Attack Path
- An attacker compromises the upstream image publisher, registry account, or release pipeline, or otherwise causes a malicious image to be published under
rediscommander/redis-commander:latest. - An operator runs
./run.sh start, which invokes Docker Compose. - Docker resolves or pulls the mutable
latestimage. - The malicious container starts on the external shared network.
- The container reads credentials supplied through its environment and connects to
codai_redis:6379. - The attacker-controlled code can read or modify accessible Redis data and potentially transmit it through any network route available to the container.
Impact Assessment
Successful exploitation provides code execution inside the Redis Commander container with access to its environment variables and the shared Docker network. This can expose the Redis authentication password, HTTP Basic Auth credentials, and all Redis keys and values author ...[truncated 270 chars]
- An attacker compromises the upstream image publisher, registry account, or release pipeline, or otherwise causes a malicious image to be published under
- Remediation
View remediation
Remediation Suggestions
- Pin Redis Commander to a specifically reviewed release and immutable digest, for example:
yaml image: rediscommander/redis-commander:VERSION@sha256:REVIEWED_DIGEST - Do not use
latestin production or shared development environments. - Adopt an explicit dependency-update process that reviews release notes, verifies image provenance, scans the image for vulnerabilities, and updates the digest through a reviewed change.
- Use registry signature verification or an equivalent image provenance policy where supported.
- Restrict container egress and shared-network access to the minimum required destinations.
- Run the container with additional hardening, such as a read-only root filesystem, dropped Linux capabilities, and a non-root user, where compatible with the image.
- Pin Redis Commander to a specifically reviewed release and immutable digest, for example:
