CVE-2026-27111: Kargo has Missing Authorization Vulnerabilities in Approval & Promotion REST API Endpoints
(updated )
Kargo’s authorization model includes a promote verb – a non-standard Kubernetes “dolphin verb” – that gates the ability to advance Freight through a promotion pipeline. This verb exists to separate the ability to manage promotion-related resources from the ability to trigger promotions, enabling fine-grained access control over what is often a sensitive operation.
The promote verb is correctly enforced in Kargo’s legacy gRPC API. However, three endpoints in the newer REST API omit this check, relying only on standard Kubernetes RBAC for the underlying resource operations (patch on freights/status or create on promotions). This permits users who hold those standard permissions – but who were deliberately not granted promote – to bypass the intended authorization boundary.
The affected endpoints are:
POST /v1beta1/projects/{project}/freight/{freight}/approve
Approves Freight for promotion to a specific Stage.
The endpoint is intended to require both patch permission on Freight status and promote permission on the target Stage, but asserts only the former.
POST /v1beta1/projects/{project}/stages/{stage}/promotions
Promotes Freight to a specific Stage.
The endpoint is intended to require both create permission on Promotion resources and promote permission on the target Stage, but asserts only the former.
POST /v1beta1/projects/{project}/stages/{stage}/promotions/downstream
Promotes Freight to all Stages immediately downstream of a given Stage.
The endpoint is intended to require both create permission on Promotion resources and promote permission on each downstream Stage, but asserts only the former.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-27111 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →