{"answers":{"affected":"3 open source packages ship an affected version, including github.com/akuity/kargo. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-27111 in the wild and no public exploit code.","fix":"Upgrade github.com/akuity/kargo to 1.9.3 or later.","what":"CVE-2026-27111 is a medium-severity missing authorization vulnerability in akuity kargo, published on 20 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-27111 and fix it if it is affected.\n\nWhat it is: CVE-2026-27111 is a medium-severity missing authorization vulnerability in akuity kargo, published on 20 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-27111 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/akuity/kargo (Go): affected from 1.9.0; fixed in 1.9.3\n- github.com/akuity/kargo (Go): affected from 1.9.0; fixed in 1.9.3\n- github.com/akuity/kargo (Go): affected from 1.9.0; fixed in 1.9.3\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-27111/ (Markdown: https://insights.sbomify.com/CVE-2026-27111/index.md)","id":"CVE-2026-27111","markdown":"https://insights.sbomify.com/CVE-2026-27111/index.md","name":"CVE-2026-27111","record":{"aliases":["GHSA-5vvm-67pj-72g4","GO-2026-4515"],"analysis":{"component_type":"cloud_service","fix_type":"upgrade","impacts":["privilege_escalation","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Kargo promotion automation","requires_auth":"low_privilege","summary":"Attackers with standard Kubernetes permissions can bypass promotion authorization checks in Kargo's REST API to trigger unauthorized software promotions.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"kargo","vendor":"akuity"}],"cvss":{"score":5.3,"severity":"medium","source":"cna","vector":"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","version":"4.0"},"cwes":[{"id":"CWE-862","name":"Missing Authorization"}],"description":"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.","ecosystems":["Go"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Kargo has Missing Authorization Vulnerabilities in Approval \u0026 Promotion REST API Endpoints","id":"CVE-2026-27111","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":3,"n_references":2,"next":{"headline":"Kargo has an Authorization Bypass Vulnerability in Batch Resource Creation API Endpoints","id":"CVE-2026-27112"},"packages":[{"ecosystem":"Go","fixed":["1.9.3"],"introduced":["1.9.0"],"last_affected":[],"package":"github.com/akuity/kargo","purl":null,"source":"GHSA-5vvm-67pj-72g4"},{"ecosystem":"Go","fixed":["1.9.3"],"introduced":["1.9.0"],"last_affected":[],"package":"github.com/akuity/kargo","purl":"pkg:golang/github.com/akuity/kargo","source":"GHSA-5vvm-67pj-72g4"},{"ecosystem":"Go","fixed":["1.9.3"],"introduced":["1.9.0"],"last_affected":[],"package":"github.com/akuity/kargo","purl":"pkg:golang/github.com/akuity/kargo","source":"GO-2026-4515"}],"prev":{"headline":"Path traversal in Dell/Alienware Purchased Apps","id":"CVE-2026-27105"},"products":["kargo"],"published":"2026-02-20","related":[{"cvss_score":9.4,"headline":"Kargo has an Authorization Bypass Vulnerability in Batch Resource Creation API Endpoints","id":"CVE-2026-27112","kev_date_added":null,"published":"2026-02-20"},{"cvss_score":6.9,"headline":"Kargo's `GetConfig()` and `RefreshResource()` API endpoints allow unauthenticated access","id":"CVE-2026-24748","kev_date_added":null,"published":"2026-01-27"},{"cvss_score":5.1,"headline":"Kargo: SSRF in Promotion http/http-download Steps Enables Internal Network Access and Data Exfiltration","id":"CVE-2026-32828","kev_date_added":null,"published":"2026-03-20"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-02-24","vendors":["akuity"]},"summary":"Attackers with standard Kubernetes permissions can bypass promotion authorization checks in Kargo's REST API to trigger unauthorized software promotions.","url":"https://insights.sbomify.com/CVE-2026-27111/"}