Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCompromise untrusted Kubernetes host
-
DeliveryConnect to Kata agent VSOCK
-
ExploitSend crafted CopyFile requests
-
ExecutionBypass symlink verification (CWE-59)
-
PersistOverwrite guest security-critical files
-
ImpactFull confidential-guest takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
|
| Exploitation Conditions | Exploitation requires a malicious process running on the untrusted Kubernetes host with the ability to open a connection to the confidential workload's Kata agent over the VSOCK channel; it targets the Kata agent policies GENERATED BY THE CONTRAST CLI in versions before 1.19.1. This is not remotely reachable over a standard network (AV:A, Adjacent) - the attacker must already have host-level foothold, which is precisely the untrusted-host adversary Contrast's confidential-computing model assumes. No authentication or user interaction is needed (PR:N/UI:N). Deployments already upgraded to 1.19.1, or those applying the published rego policy fix via 'contrast generate --policy', are not affected. |
| Impact | The vendor (via VulnCheck) rates this CVSS 4.0 8.6 (High) with vector AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N, and I broadly agree on the impact profile: this is a genuine confidentiality-and-integrity break, not a high-CVSS-but-low-risk paper cut. The critical framing is the confidential-computing threat model - Contrast explicitly treats the Kubernetes host/cluster-admin as an UNTRUSTED adversary, so the 'PR:N / attacker on the host with VSOCK access' precondition is exactly the boundary the product exists to defend, meaning a bypass defeats the core security guarantee. That said, the attack vector is Adjacent (AV:A), not Network: the attacker must already have a malicious process on the untrusted host able to reach the Kata agent VSOCK, which is a meaningful gate outside the confidential-computing model. Exploitation signals are thin: no EPSS score, not in CISA KEV, and no public POC identified at time of analysis - a rego-only workaround is published but that is a mitigation, not exploit code. Note the vendor set VA:N (no availability impact) despite describing 'full guest takeover'; that is defensible since the vulnerability yields arbitrary file writes and data disclosure rather than a direct crash, but full takeover could cascade to availability in practice. The 'Information Disclosure' tag understates the issue - CWE-59 (link following) enabling arbitrary writes to overwrite security-critical files makes INTEGRITY the primary impact. |
| Exploit ScenarioDerived | An attacker who has compromised the untrusted Kubernetes host (the exact adversary Contrast is designed to defend against) connects to the confidential workload's Kata agent over VSOCK and issues a crafted series of CopyFile requests. Exploiting the flawed CopyFile symlink verification (CWE-59), the writes are redirected via symlinks to overwrite security-critical files in the guest root filesystem or to coerce the workload into disclosing sensitive data, resulting in full guest takeover. No public exploit code is identified at time of analysis, though a rego-only fix published in the advisory reveals the exact mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 27, 2026
Arbitrary writes to the guest root filesystem in Edgeless Systems' Contrast confidential-computing runtime before 1.19.1 allow a malicious process on the untrusted Kubernetes host to achieve full guest takeover. The flaw lives in the Kata agent policies generated by the Contrast CLI: the CopyFile verification does not correctly resolve symlinks (CWE-59), so an attacker who can open a VSOCK connection to the Kata agent can chain CopyFile requests to overwrite security-critical files inside the guest or trick the workload into disclosing sensitive data. The vendor (via VulnCheck) scores this CVSS 4.0 8.6 (High), and an independent assessment concurs that it is a genuine confidentiality-and-integrity break (CVSS 3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) rather than a high-score paper cut. Exploitation is not reachable over a standard network - the attacker must already hold a foothold on the untrusted host, which is precisely the adversary model Contrast assumes - and no public exploit code or confirmed in-the-wild exploitation was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Contrast to 1.19.1 and regenerate the Kata agent policies so the corrected CopyFile verification is baked into the deployment, per the advisory at https://github.com/edgelesssys/contrast/security/advisories/GHSA-rh99-wc69-c255. If upgrading is not possible, apply the equivalent policy-only fix written in rego and pass it to 'contrast generate --policy' (the reference implementation is the gist at https://gist.github.com/burgerdev/304dd0ab0fff1665b7c27e18a30cf96e); note the trade-off that the rego-only workaround is harder to get right than the patch because the data being validated is binary, it must be re-applied to every generated policy set, and it does not address future variants of the same policy class. Compensating controls should be treated as risk reduction rather than a fix: restrict which host processes can open the Kata agent VSOCK endpoint (e.g. tighten host-level process isolation and remove unnecessary privileges from co-resident host workloads, since the flaw is triggered by VSOCK reachability) and keep guest images and workload secrets strictly least-privileged to limit the value of a write primitive - but the vendor explicitly notes that this patch does not change the more fundamental assumption that host-provided content is generally not trustworthy, so host-side isolation alone should not be considered a substitute for upgrading. Authentication requirements are not a meaningful barrier here: the assessed vector is PR:N/UI:N, so any host process that can reach the VSOCK channel can attempt the attack once the channel is reachable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Contrast is a confidential-computing runtime that runs Kubernetes workloads inside hardware-isolated guests backed by Kata Containers, with the untrusted host responsible for providing the guest image and configuration. The Kata agent running inside the guest exposes a VSOCK (virtio socket) control channel to the host, and the contrast CLI generates the rego-based agent policies that constrain what host-originated requests the agent will honor - including CopyFile, a request that copies a file from the host into the guest filesystem. In versions before 1.19.1 those generated policies verified the CopyFile target path insufficiently against symlinks, the classic CWE-59 'Improper Link Resolution Before File Access (Link Following)' weakness: resolving a path component to a symlink lets the agent write outside the intended destination and into arbitrary locations on the guest root filesystem. Because that filesystem holds the workload's binaries, credentials, and the guest-side policy/measurement state, a host-resident process able to reach the VSOCK endpoint and issue a sequence of CopyFile calls effectively converts a write primitive into guest takeover, or into a data-disclosure primitive by steering the workload toward attacker-chosen content. The weakness is inherited at the policy layer rather than in Kata itself; the vendor cross-references the upstream Kata Containers advisory GHSA-q49m-57vm-c8cc for the underlying context. The affected artifact is the Go module go/github.com/edgelesssys/contrast (CPE cpe:2.3:a:edgelesssys:contrast:*:*:*:*:*:*:*:*), i.e. every CLI release prior to 1.19.1, not any single Kubernetes deployment topology.
Know when Contrast gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
AV:A because exploitation is over the host-to-guest VSOCK channel not the network; PR:N/UI:N since the untrusted host is the assumed adversary; C:H/I:H (arbitrary writes plus data disclosure), A:N as no direct availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Contrast is a confidential-computing runtime for Kubernetes. In versions before 1.19.1, the Kata agent policies generated by the Contrast CLI contained a flaw in the CopyFile verification that allowed arbitrary writes to the guest root filesystem. A malicious process on the untrusted host able to connect to the Kata agent VSOCK could issue a series of CopyFile requests to overwrite security-critical files in the guest or trick the workload into disclosing sensitive data, effectively amounting to a full guest takeover. Users unable to upgrade can apply an equivalent rego policy fix passed to 'contrast generate --policy'.
Articles & Coverage 1
Technical POC Analysis
Evidence base: GitHub advisory GHSA-rh99-wc69-c255 only.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Edgeless Systems' Contrast confidential-computing runtime (versions before 1.19.1) contains a high-severity arbitrary file write vulnerability that allows a malicious process on an untrusted Kubernetes host to achieve full guest takeover. This compromises the confidentiality and integrity of sensitive workloads that organizations run in untrusted environments, undermining the core security guarantee of the Contrast platform. While no public exploit identified at time of analysis and exploitation requires a pre-existing host foothold, that is precisely the adversary model Contrast is designed to defend against, making this a critical trust-boundary failure for affected deployments.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting VSOCK access to the Kata agent, monitoring for symlink manipulation and anomalous CopyFile requests, isolating untrusted Kubernetes hosts from sensitive guests, and applying least-privilege policies to limit host-level access.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Related Vulnerabilities in Contrast Confidential-Computing Runtime Multiple Flaws
View all 11Improper verification in the Edgeless Systems Contrast Coordinator's peer-recovery path (versions 1.8.0 through 1.24.0)
Local privilege escalation in Edgeless Systems Contrast 1.8.0 through 1.24.0 allows a low-privileged local user on a nod
EUVD-2026-87850
GHSA-h734-rggh-79xq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB