BuildKit 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.
{ "review_status": "REVIEWED", "url": "https://pkg.go.dev/vuln/GO-2024-2497" }
{ "imports": [ { "symbols": [ "Solver.Solve", "ValidateEntitlements", "llbBridge.Exec", "llbBridge.Run", "provenanceBridge.Solve" ], "path": "github.com/moby/buildkit/solver/llbsolver" }, { "symbols": [ "BridgeClient.NewContainer", "GatewayForwarder.Solve", "LLBBridgeToGatewayClient" ], "path": "github.com/moby/buildkit/frontend/gateway/forwarder" }, { "symbols": [ "newController" ], "path": "github.com/moby/buildkit/cmd/buildkitd" }, { "symbols": [ "NewContainer" ], "path": "github.com/moby/buildkit/frontend/gateway/container" }, { "symbols": [ "NewBridgeForwarder", "gatewayFrontend.Solve", "llbBridgeForwarder.NewContainer", "newBridgeForwarder", "serveLLBBridgeForwarder" ], "path": "github.com/moby/buildkit/frontend/gateway" } ] }