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.
{
"url": "https://pkg.go.dev/vuln/GO-2024-2497",
"review_status": "REVIEWED"
}{
"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"
}
]
}