The Docker project has released version 1.4.0 and 1.3.3 focused on bug fixes and platform stability, and addressing some critical security issues found in previous versions.
The releases fix vulnerabilities that would allow a malicious Dockerfile, image, or registry to compromise a Docker host or spoof official images. The issues affect all Docker versions up to 1.3.2 and Docker users are advised to upgrade.
[CVE-2014-6407] Archive extraction allowing host privilege escalation
The Docker engine, up to and including version 1.3.1, was vulnerable to extracting files to arbitrary paths on the host during docker pull
and docker load
operations. This was caused by symlink and hardlink traversals present in Docker's image extraction. This vulnerability could be leveraged to perform remote code execution and privilege escalation.
Additional checks have been added to pkg/archive and image extraction is now performed in a chroot. No remediation is available for older versions of Docker.
[CVE-2014-6408] Security options applied to image could lead to container escalation
Docker versions 1.3.0 through 1.3.1 allowed security options to be applied to images, allowing images to modify the default run profile of containers executing these images. This vulnerability could allow a malicious image creator to loosen the restrictions applied to a container's processes, potentially facilitating a break-out.
Security options applied to images are no longer consumed by the Docker engine and will be ignored.
[CVE-2014-9356] Path traversal during processing of absolute symlinks
Path traversal attacks are possible in the processing of absolute symlinks. In checking symlinks for traversals, only relative links were considered. This allowed path traversals to exist where they should have otherwise been prevented. This was exploitable via both archive extraction and through volume mounts.
This vulnerability allowed malicious images or builds from malicious Dockerfiles to write files to the host system and escape containerization, leading to privilege escalation.
[CVE-2014-9358] Path traversal and spoofing opportunities presented through image identifiers
Docker does not sufficiently validate Image IDs as provided either via docker load
or through registry communications. This allows for path traversal attacks, causing graph corruption and manipulation by malicious images, as well as repository spoofing attacks.
Docker uses Linux security mechanisms and isolation for namespaces, capabilities, and cgroups implemented through either libcontainer or lxc, incorporating SELinux and AppArmor on systems where they are supported. Since 1.3 Docker Hub official repo images are signed, and user signed images will be implemented in the future.
Docker 1.4 also adds the Overlay Filesystem as a new experimental storage driver. Overlay is a filesystem that implements a union mount for other file systems, and will be included in Linux 3.18 mainline.