This release of Docker Engine contains partial mitigations for a Git vulnerability
(CVE-2022-39253), and has updated handling of image:tag@digest
image references.
The Git vulnerability allows a maliciously crafted Git repository, when used as a
build context, to copy arbitrary filesystem paths into resulting containers/images;
this can occur in both the daemon, and in API clients, depending on the versions and
tools in use.
The mitigations available in this release and in other consumers of the daemon API
are partial and only protect users who build a Git URL context (e.g. git+protocol://
).
As the vulnerability could still be exploited by manually run Git commands that interact
with and check out submodules, users should immediately upgrade to a patched version of
Git to protect against this vulernability. Further details are available from the GitHub
blog ("Git security vulnerabilities announced").
Client
- Added a mitigation for CVE-2022-39253,
when using the classic Builder with a Git URL as the build context.
Daemon
- Updated handling of
image:tag@digest
references. When pulling an image using
theimage:tag@digest
("pull by digest"), image resolution happens through
the content-addressable digest and theimage
andtag
are not used. While
this is expected, this could lead to confusing behavior, and could potentially
be exploited through social engineering to run an image that is already present
in the local image store. Docker now checks if the digest matches the repository
name used to pull the image, and otherwise will produce an error.
Builder
- Updated handling of
image:tag@digest
references. Refer to the "Daemon" section
above for details. - Added a mitigation to the classic Builder and updated BuildKit to v0.8.3-31-gc0149372,
for CVE-2022-39253.