CVE-2024-23653: Buildkit's interactive containers API does not validate entitlements check
Impact In addition to running containers as build steps, BuildKit also provides APIs for running interactive containers based on built images. It was possible to use these APIs to ask BuildKit to run a container with elevated privileges.
Published Jan 31, 2024 · Updated May 20, 2024
Affected packages
github.com/moby/buildkit
- Ecosystem
- Go
- Affected
- < 0.12.5
- Fixed in
- 0.12.5
- Check
go list -m github.com/moby/buildkit
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Impact
In addition to running containers as build steps, BuildKit also provides APIs for running interactive containers based on built images. It was possible to use these APIs to ask BuildKit to run a container with elevated privileges. Normally, running such containers is only allowed if special security.insecure entitlement is enabled both by buildkitd configuration and allowed by the user initializing the build request.
Patches
The issue has been fixed in v0.12.5 .
Workarounds
Avoid using BuildKit frontends from untrusted sources. A frontend image is usually specified as the #syntax line on your Dockerfile, or with --frontend flag when using buildctl build command.
References
Credited to rmcnamara-snyk.
References
- https://github.com/moby/buildkit/security/advisories/GHSA-wr6v-9f75-vh2g
- https://github.com/moby/buildkit/pull/4602
- https://nvd.nist.gov/vuln/detail/CVE-2024-23653
- https://github.com/moby/buildkit/releases/tag/v0.12.5
- https://github.com/moby/buildkit/commit/5026d95aa3336e97cfe46e3764f52d08bac7a10e
- https://github.com/moby/buildkit/commit/92cc595cfb12891d4b3ae476e067c74250e4b71e
- https://github.com/advisories/GHSA-wr6v-9f75-vh2g
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
