{"resultsPerPage":1,"startIndex":0,"totalResults":1,"format":"NVD_CVE","version":"2.0","timestamp":"2026-04-21T05:42:04.792","vulnerabilities":[{"cve":{"id":"CVE-2026-27111","sourceIdentifier":"security-advisories@github.com","published":"2026-02-20T22:16:29.187","lastModified":"2026-02-25T18:01:51.917","vulnStatus":"Analyzed","cveTags":[],"descriptions":[{"lang":"en","value":"Kargo manages and automates the promotion of software artifacts. From v1.9.0 to v1.9.2, 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 /v1beta1/projects/{project}/freight/{freight}/approve, /v1beta1/projects/{project}/stages/{stage}/promotions, and /v1beta1/projects/{project}/stages/{stage}/promotions/downstream. This vulnerability is fixed in v1.9.3."},{"lang":"es","value":"Kargo gestiona y automatiza la promoción de artefactos de software. Desde la v1.9.0 hasta la v1.9.2, el modelo de autorización de Kargo incluye un verbo 'promote' -- un \"verbo 'dolphin'\" no estándar de Kubernetes -- que restringe la capacidad de avanzar Freight a través de una tubería de promoción. Este verbo existe para separar la capacidad de gestionar recursos relacionados con la promoción de la capacidad de activar promociones, permitiendo un control de acceso granular sobre lo que a menudo es una operación sensible. El verbo 'promote' se aplica correctamente en la API gRPC heredada de Kargo. Sin embargo, tres puntos finales en la API REST más reciente omiten esta verificación, confiando solo en el RBAC estándar de Kubernetes para las operaciones de recursos subyacentes (parche en freights/status o creación en promotions). Esto permite a los usuarios que poseen esos permisos estándar -- pero a quienes deliberadamente no se les concedió 'promote' -- eludir el límite de autorización previsto. Los puntos finales afectados son /v1beta1/projects/{project}/freight/{freight}/approve, /v1beta1/projects/{project}/stages/{stage}/promotions, y /v1beta1/projects/{project}/stages/{stage}/promotions/downstream. Esta vulnerabilidad se corrige en la v1.9.3."}],"metrics":{"cvssMetricV40":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N","baseScore":5.0,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":3.1,"impactScore":1.4}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Primary","description":[{"lang":"en","value":"CWE-862"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:akuity:kargo:*:*:*:*:*:kubernetes:*:*","versionStartIncluding":"1.9.0","versionEndExcluding":"1.9.3","matchCriteriaId":"3B60DE85-B240-4BA0-896D-2A0BA369B0AF"}]}]}],"references":[{"url":"https://github.com/akuity/kargo/commit/833314cad5513d48d89431493325ae44c1324a49","source":"security-advisories@github.com","tags":["Patch"]},{"url":"https://github.com/akuity/kargo/security/advisories/GHSA-5vvm-67pj-72g4","source":"security-advisories@github.com","tags":["Vendor Advisory"]}]}}]}