Skip to main content

Edgeless Systems Contrast CVE-2025-71424

| EUVDEUVD-2025-211008 MEDIUM
Protection Mechanism Failure (CWE-693)
2026-09-27 VulnCheck GHSA-4585-2273-g8cw
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Malicious/compromised host controls Kata runtime path
  2. Delivery
    Deploy image with unmounted VOLUME on bare-metal
  3. Exploit
    containerd auto-adds mount point
  4. Execution
    Host pushes arbitrary file tree to Kata agent
  5. Impact
    Integrity of container directory compromised

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
Exploitation Conditions

All three conditions must hold simultaneously: (1) a bare-metal Contrast deployment - Azure AKS deployments are explicitly NOT affected; (2) a container image that declares at least one VOLUME directive (Dockerfile VOLUME / OCI config.volumes); and (3) no Kubernetes mount defined at that VOLUME path, so containerd auto-creates the mount point. The attacker is the untrusted host underlying the confidential container. Exploitation is limited to integrity impact on that mount-point directory; there is no confidentiality or availability effect. The straightforward workaround (explicitly mounting an emptyDir at every VOLUME path) further narrows exposure to misconfigured deployments only.

Impact

This is a low-real-world-risk issue despite touching confidential-computing security guarantees. The vendor CVSS 4.0 vector (AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N, base 5.1 MEDIUM) is internally consistent with the description: integrity-only impact (VI:L), no confidentiality or availability loss, adjacent attack vector, and low privileges. No EPSS score, no CISA KEV listing, and no public POC were provided, so all exploitation signals point to no active or imminent exploitation. There is no SSVC decision data in the input. The most important limiting factor is the tightly-scoped precondition set: exploitation only works on bare-metal Contrast deployments (Azure AKS is explicitly NOT affected), against images that declare at least one VOLUME with no corresponding Kubernetes mount at that path. Note a labeling conflict worth flagging: the input Tags mark this 'Information Disclosure', but the CVSS vector sets VC:N (no confidentiality impact) and the advisory describes only host-controlled writes - this is an integrity flaw, not disclosure. The 'attacker' here is the untrusted host, which is precisely the actor confidential computing is meant to defend against, so the vulnerability is meaningful within that threat model but narrow in real-world reach.

Exploit ScenarioDerived

An operator runs a Contrast confidential container on bare-metal from an image whose Dockerfile declares a VOLUME (e.g. a data directory) but forgets to mount a Kubernetes volume at that path. containerd auto-creates the mount point, and the untrusted host machine writes an arbitrary file tree beneath it inside the confidential container, tampering with a directory the application relies on for core functionality. No public exploit code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 27, 2026

Contrast versions up to and including 1.9.0 allow the untrusted host underlying a bare-metal confidential container deployment to write arbitrary file trees below a container's VOLUME mount point, compromising the integrity of a directory that is typically central to the application's core functionality. The weakness occurs because containerd auto-creates a mount point for any OCI config.volumes entry that Kubernetes does not explicitly mount, forcing the runtime to relay host-supplied content to the Kata agent; only integrity of that path is affected, with no confidentiality or availability impact. It is rated low severity (CVSS 4.0 5.1; assessed CVSS 3.1 AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N), affects bare-metal deployments only (Azure AKS is explicitly unaffected), and no public exploit code was identified at time of analysis; a vendor fix is available in 1.9.1.

RemediationAI

Upgrade to Contrast 1.9.1, which fixes the issue by disallowing the problematic configuration in contrast generate; the fix is available in the public repository and corresponds to commit 635b471ddbb512b6661e6f1d767aab818bd50bda, with details in the vendor advisory GHSA-phhq-63jg-fp7r. If immediate upgrade is not possible on bare-metal deployments, explicitly mount an emptyDir at every VOLUME path declared by the image, which prevents containerd from auto-creating a host-writable mount point - the trade-off is that the emptyDir masks any data baked into the image at that path, so applications depending on pre-populated content at those locations will break; in that case the image itself must be rebuilt with the config.volumes entries removed, per the vendor's stated workaround. Operators should also verify via contrast generate output or image inspection that no container image in use declares a VOLUME without a matching Kubernetes mount. No vendor-released patch was identified prior to 1.9.1, and no compensating configuration short of these two measures restores the integrity guarantee for such paths.

Affected VersionsENISA

contrast 0 <1.9.1

Affected Packages

go github.com/edgelesssys/contrast fix: 1.9.1
euvd contrast fix: 1.9.1

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 Edgeless Systems' Kubernetes runtime for confidential containers, which relies on the Kata agent and a threat model in which the underlying host is untrusted. The Dockerfile VOLUME directive, surfaced in OCI image configuration as config.volumes, is only a hint per the OCI image spec - Kubernetes does not handle it specially - but containerd implements the spec's conversion logic and creates a mount point when Kubernetes defines none. Because the specification does not mandate what data populates such a mount, the runtime must be able to push arbitrary host-supplied content into the guest at that path, breaking the isolation guarantee for that directory. The root cause maps to CWE-693 (Protection Mechanism Failure): the confidential-computing boundary is not enforced for auto-created VOLUME mount points, so an untrusted host retains a write primitive inside the protected container. Affected code is the Go module go/github.com/edgelesssys/contrast below 1.9.1, matching CPE cpe:2.3:a:edgelesssys:contrast:*:*:*:*:*:*:*:*; vulnerability tags include Kubernetes, Contrast, and Information Disclosure. Exploitation is constrained: the CVSS 4.0 vector (AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N) and the independent 3.1 assessment both indicate adjacent-network, low-privilege access with integrity-only impact confined to the affected scope.

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
CVSS:4.0/AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.5 LOW

Untrusted host (adjacent infrastructure, low privilege) writes into the guest via runtime; integrity-only (I:L) with no confidentiality or availability impact, aligning with the vendor 4.0 vector.

3.1 AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:A/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Adjacent
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 27, 2026 - 03:16 EUVD

DescriptionCVE.org

Contrast, Edgeless Systems' runtime for confidential containers on Kubernetes, is affected in versions up to and including 1.9.0. The VOLUME directive in a Dockerfile (config.volumes in the OCI image configuration) is only a hint and is not handled specially by Kubernetes, but containerd adds a mount point for it when Kubernetes sets none, requiring the runtime to be able to push arbitrary data to the Kata agent. As a result, on bare-metal Contrast deployments (AKS deployments are not affected) that run an image declaring at least one VOLUME for which no Kubernetes mount exists at that path, the untrusted host can write arbitrary file trees below that mount point inside the confidential container, compromising the integrity of a directory that is typically important to the application's core functionality. Version 1.9.1 fixes the issue by disallowing this configuration in contrast generate.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche confidential-computing container runtime, limited to bare-metal Kubernetes adopters
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy