CVE-2026-27112
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedKargo manages and automates the promotion of software artifacts. From 1.7.0 to before v1.7.8, v1.8.11, and v1.9.3, the batch resource creation endpoints of both Kargo's legacy gRPC API and newer REST API accept multi-document YAML payloads. Specially crafted payloads can manifest a bug present in the logic of both endpoints to inject arbitrary resources (of specific types only) into the underlying namespace of an existing Project using the API server's own permissions when that behavior was not intended. Critically, an attacker may exploit this as a vector for elevating their own permissions, which can then be leveraged to achieve remote code execution or secret exfiltration. Exfiltrated artifact repository credentials can be leveraged, in turn, to execute further attacks. In some configurations of the Kargo control plane's underlying Kubernetes cluster, elevated permissions may additionally be leveraged to achieve remote code execution or secret exfiltration using kubectl. This can reduce the complexity of the attack, however, worst case scenarios remain entirely achievable even without this. This vulnerability is fixed in v1.7.8, v1.8.11, and v1.9.3.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceKargo's batch resource creation endpoints in both gRPC and REST APIs accept multi-document YAML payloads that contain a logic flaw allowing injection of arbitrary resources into existing Project namespaces using the API server's own permissions. This enables privilege escalation, RCE, and secret exfiltration.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 1.7.0, < 1.7.8>= 1.8.0, < 1.8.11>= 1.9.0, < 1.9.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- Low
- User interaction
- None
- Scope
- Changed
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify installed Kargo versionRun 'kargo version' from the command line, or inspect the Kargo container/operator image tag deployed in your clusterAffected if Version is 1.7.0 through 1.7.7, 1.8.0 through 1.8.10, or 1.9.0 through 1.9.2 (i.e., it falls within any of the three affected ranges)
-
Confirm REST API batch resource endpoint availabilityCheck if the Kargo REST API server is exposed and accessible (typically on port 8080 or 8443). Identify if batch resource creation endpoints are reachable by querying the OpenAPI spec or API documentationAffected if The REST API server is accessible to users or services that should not have permission to create arbitrary resources in Project namespaces
-
Confirm gRPC API batch resource endpoint availabilityCheck if the Kargo gRPC service is exposed. Verify whether the gRPC reflection service or known batch resource creation methods are accessibleAffected if The gRPC service is accessible to users or services that should not have permission to create arbitrary resources in Project namespaces
-
Inspect API logs for multi-document YAML submissionsReview Kargo API server logs for POST/PUT/gRPC requests to batch resource creation endpoints containing the YAML document separator '---'. Multiple documents in a single request indicate use of the vulnerable featureAffected if Logs show multi-document YAML payloads being submitted to batch resource creation endpoints, especially from untrusted sources
Your environment is affected if Kargo version is in any of the affected ranges AND the batch resource creation APIs are accessible to untrusted users or showing multi-document YAML activity.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped1.7.81.8.111.9.3
Upgrade Kargo to v1.7.8, v1.8.11, or v1.9.3. Until upgraded, restrict access to the batch resource creation endpoints and monitor for suspicious multi-document YAML submissions.
Upgrade to v1.7.8 (if on 1.7.x), v1.8.11 (if on 1.8.x), or v1.9.3 (if on 1.9.x)
- Identify the currently running Kargo version using your Kubernetes deployment or Helm release
- Determine which version branch you are on (1.7.x, 1.8.x, or 1.9.x)
- If on 1.7.x, upgrade to v1.7.8
- If on 1.8.x, upgrade to v1.8.11
- If on 1.9.x, upgrade to v1.9.3
- Apply the upgrade via your Helm chart or Kubernetes manifests
- Verify the new version is running and Kargo is functional
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation4.0 h
- Testing6.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,448.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2026-27112 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2026-27112 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data