Moby is an open source container framework. In versions prior to 29.5.1 and in moby/moby v2 prior to v2.0.0-beta.14, when a compressed archive is uploaded to a container via PUT /containers/{id}/archive or piped through docker cp -, the daemon resolves decompression binaries (such as xz or unpigz) from the container's filesystem rather than the host's due to incorrect ordering of operations. A malicious container image containing a trojanized decompression binary can achieve arbitrary code execution with full daemon privileges, including host root UID and unrestricted capabilities, when a user uploads a compressed (xz or gzip) archive into that container. This issue is fixed in Docker Engine 29.5.1 and moby/moby v2.0.0-beta.14. Workarounds include only running containers from trusted images, using authorization plugins to restrict access to the PUT /containers/{id}/archive endpoint, and avoiding piping compressed archives into containers created from untrusted images
{
"binaries": [
{
"binary_name": "docker.io",
"binary_version": "18.09.7-0ubuntu1~16.04.9+esm2"
},
{
"binary_name": "golang-docker-dev",
"binary_version": "18.09.7-0ubuntu1~16.04.9+esm2"
},
{
"binary_name": "golang-github-docker-docker-dev",
"binary_version": "18.09.7-0ubuntu1~16.04.9+esm2"
},
{
"binary_name": "vim-syntax-docker",
"binary_version": "18.09.7-0ubuntu1~16.04.9+esm2"
}
]
}{
"binaries": [
{
"binary_name": "docker.io",
"binary_version": "20.10.21-0ubuntu1~18.04.3+esm3"
},
{
"binary_name": "golang-docker-dev",
"binary_version": "20.10.21-0ubuntu1~18.04.3+esm3"
},
{
"binary_name": "golang-github-docker-docker-dev",
"binary_version": "20.10.21-0ubuntu1~18.04.3+esm3"
},
{
"binary_name": "vim-syntax-docker",
"binary_version": "20.10.21-0ubuntu1~18.04.3+esm3"
}
]
}{
"binaries": [
{
"binary_name": "golang-docker-dev",
"binary_version": "20.10.21-0ubuntu1~20.04.6+esm2"
},
{
"binary_name": "golang-github-docker-docker-dev",
"binary_version": "20.10.21-0ubuntu1~20.04.6+esm2"
},
{
"binary_name": "vim-syntax-docker",
"binary_version": "20.10.21-0ubuntu1~20.04.6+esm2"
}
]
}{
"binaries": [
{
"binary_name": "golang-docker-dev",
"binary_version": "20.10.21-0ubuntu1~22.04.8+esm1"
},
{
"binary_name": "golang-github-docker-docker-dev",
"binary_version": "20.10.21-0ubuntu1~22.04.8+esm1"
},
{
"binary_name": "vim-syntax-docker",
"binary_version": "20.10.21-0ubuntu1~22.04.8+esm1"
}
]
}