Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/vulndb: potential Go vuln in github.com/containerd/imgcrypt: CVE-2022-24778 #412

Closed
GoVulnBot opened this issue Mar 25, 2022 · 2 comments

Comments

@GoVulnBot
Copy link

CVE-2022-24778 references github.com/containerd/imgcrypt, which may be a Go module.

Description:
The imgcrypt library provides API exensions for containerd to support encrypted container images and implements the ctd-decoder command line tool for use by containerd to decrypt encrypted container images. The imgcrypt function CheckAuthorization is supposed to check whether the current used is authorized to access an encrypted image and prevent the user from running an image that another user previously decrypted on the same system. In versions prior to 1.1.4, a failure occurs when an image with a ManifestList is used and the architecture of the local host is not the first one in the ManifestList. Only the first architecture in the list was tested, which may not have its layers available locally since it could not be run on the host architecture. Therefore, the verdict on unavailable layers was that the image could be run anticipating that image run failure would occur later due to the layers not being available. However, this verdict to allow the image to run enabled other architectures in the ManifestList to run an image without providing keys if that image had previously been decrypted. A patch has been applied to imgcrypt 1.1.4. Workarounds may include usage of different namespaces for each remote user.

Links:

See doc/triage.md for instructions on how to triage this report.

module: github.com/containerd/imgcrypt
package: imgcrypt
description: |
    The imgcrypt library provides API exensions for containerd to support encrypted container images and implements the ctd-decoder command line tool for use by containerd to decrypt encrypted container images. The imgcrypt function `CheckAuthorization` is supposed to check whether the current used is authorized to access an encrypted image and prevent the user from running an image that another user previously decrypted on the same system. In versions prior to 1.1.4, a failure occurs when an image with a ManifestList is used and the architecture of the local host is not the first one in the ManifestList. Only the first architecture in the list was tested, which may not have its layers available locally since it could not be run on the host architecture. Therefore, the verdict on unavailable layers was that the image could be run anticipating that image run failure would occur later due to the layers not being available. However, this verdict to allow the image to run enabled other architectures in the ManifestList to run an image without providing keys if that image had previously been decrypted. A patch has been applied to imgcrypt 1.1.4. Workarounds may include usage of different namespaces for each remote user.
cves:
  - CVE-2022-24778
links:
    commit: https://github.com/containerd/imgcrypt/commit/6fdd9818a4d8142107b7ecd767d839c9707700d9
    context:
      - https://github.com/containerd/imgcrypt/issues/69
      - https://github.com/containerd/imgcrypt/releases/tag/v1.1.4
      - https://github.com/containerd/imgcrypt/security/advisories/GHSA-8v99-48m9-c8pm

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/398954 mentions this issue: reports: add GO-2021-0412.yaml for CVE-2022-24778

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/463681 mentions this issue: data/reports: add vulnerable_at to GO-2021-0412.yaml

gopherbot pushed a commit that referenced this issue Jan 31, 2023
Aliases: CVE-2022-24778, GHSA-8v99-48m9-c8pm

Updates #412

Change-Id: I2bcb4d456b3cffec1439d117221391e1f63e1035
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/463681
Run-TryBot: Tatiana Bradley <tatianabradley@google.com>
Auto-Submit: Tatiana Bradley <tatianabradley@google.com>
Reviewed-by: Tim King <taking@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants