Skip to main content

Edgeless Contrast EUVDEUVD-2026-87853

| CVE-2026-100833 HIGH
Improper Input Validation (CWE-20)
2026-09-27 VulnCheck GHSA-mjj6-px65-jq92
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Gain Kata agent API access (cluster admin)
  2. Delivery
    Craft image_guest_pull storage entry with payload image
  3. Exploit
    Policy allow_storage rule skips digest verification
  4. Execution
    Substituted image loaded into confidential container
  5. Impact
    Attacker code executes inside attested workload

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires that the target run Contrast (edgelesssys/contrast) version 1.14.0 up to but not including 1.23.1, using Kata Containers confidential containers whose runtime policies were generated by the vulnerable code. The specific trigger is a storage entry that uses the image_guest_pull driver - the flawed allow_storage policy rule accepts such entries WITHOUT verifying the image digest. The attacker must have access to the Kata agent API (in Contrast's threat model this is a Kubernetes cluster administrator), and the substituted malicious image must still satisfy all remaining runtime policy rules. Limiting factors that reduce realistic risk: the attacker needs a privileged position reaching the Kata agent API rather than anonymous remote access, exploitation is non-automatable (SSVC), and only confidential-container workloads relying on Contrast's policy-based image integrity are affected; default conventional Kubernetes workloads are out of scope.

Impact

Signals are consistent and point to a serious-but-not-emergency issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and SSVC 'Technical Impact: total' agree that a low-privileged actor with network reach to the Kata agent API can fully undermine the confidential container's integrity. However, exploitation signals are all low: EPSS is 0.23% (12th percentile), SSVC Exploitation is 'none', SSVC Automatable is 'no', there is no CISA KEV listing, and no public exploit code was identified. These low exploitation signals are expected and partially misleading for this class of flaw: the attacker in Contrast's threat model is a Kubernetes cluster administrator - a privileged insider who already controls the untrusted infrastructure - so this is deliberately NOT a mass-scannable internet vulnerability, which explains the low EPSS/automatable signals despite the high technical impact. The real-world priority is therefore HIGH for the specific population running Contrast confidential containers (the entire security value proposition - integrity of confidential workloads against a malicious host/admin - is defeated), but LOW as a broad fleet-wide threat. One point to verify: PR:L is somewhat generous given the attacker must reach the privileged Kata agent API; this reflects Contrast's inverted trust model (infrastructure is untrusted) rather than a conventional authenticated-user prerequisite.

Exploit ScenarioDerived

A malicious or compromised Kubernetes cluster administrator with access to the Kata agent API crafts a storage entry using the image_guest_pull driver and swaps a legitimate confidential-container image for an exploit payload. Because the generated runtime policy's flawed allow_storage rule does not verify the image digest for that driver, the substitution passes policy validation as long as the replacement image satisfies the remaining rules, letting attacker-controlled code run inside the supposedly attested confidential container. No public exploit code or active exploitation has been identified; exploitation requires the privileged insider position defined in Contrast's threat model.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

AnalysisAIv2 – Oct 09, 2026

Container image substitution in Edgeless Contrast 1.14.0 through 1.23.0 lets an attacker who can reach the Kata agent API - in Contrast's threat model, a Kubernetes cluster administrator - swap a workload's container image for an exploit payload and thereby break the integrity guarantees of the confidential container. The root cause is a runtime-policy generation bug: a misplaced allow_storage rule introduced by a bad rebase during a Kata Containers update accepts storage entries using the image_guest_pull driver without verifying the image digest. No public exploit code has been identified at time of analysis and EPSS is low at 0.23% (12th percentile), but exploitation is authenticated (CVSS PR:L), non-automatable per SSVC, and gated on the substituted image still satisfying all remaining policy rules; technical impact is rated total.

Earlier versions of this analysis (1)
v1 Sep 27, 2026 - 02:19 CVSS 7.6

Contrast versions 1.14.0 through 1.23.0 generate runtime policies that accept substituted container images via the Kata Containers image_guest_pull storage driver without verifying the image digest, so an attacker with Kata agent API access - such as the untrusted Kubernetes cluster administrator in Contrast's threat model - can run an exploit payload inside a confidential container and undermine its integrity guarantees. The flaw is rooted in improper input validation (CWE-20) and was accidentally introduced by a bad rebase during a Kata Containers update; it requires authenticated low privileges (CVSS 4.0 PR:L, with the AT:P attack requirement) and a substitute image that still satisfies the remaining policy rules, and it carries a 7.6 High severity score. No public exploit identified at time of analysis and no confirmed active exploitation (CISA KEV); exploitation remains tightly scoped to deployments in the vulnerable range that rely on the affected allow_storage/image_guest_pull path.

RemediationAI

Upgrade Contrast to a release at or above 1.23.1, which is the first version outside the affected range and the fixed line referenced in the advisory (https://github.com/edgelesssys/contrast/security/advisories/GHSA-m2qg-wrxv-h898); the referenced vendor data lists the patch as available, and the VulnCheck advisory (https://www.vulncheck.com/advisories/contrast-before-1.23.1-image-substitution-via-policy-generation) and NVD entry (https://nvd.nist.gov/vuln/detail/CVE-2026-100833) document the same boundary. After upgrading, regenerate the runtime policies rather than reusing policies produced by an affected version, and inspect the generated policy for any allow_storage entry that permits the image_guest_pull driver without an accompanying image digest constraint. If immediate upgrade is not possible, the most direct compensating control is to remove or reject allow_storage rules for the image_guest_pull driver in the generated policy, accepting the trade-off that guest-pull registry offloading and any workflow depending on pulling images inside the guest will stop working until the fix is applied. In parallel, tighten Kubernetes RBAC so that the set of principals able to reach the Kata agent API is minimized and audited, since the exploited prerequisite is authenticated access to that API by an already privileged actor; this reduces but does not eliminate risk because a cluster administrator remains inside Contrast's threat model. Additional defense in depth is to enforce admission policies requiring digest-pinned image references and to add registry-side or admission-side image signature verification, with the caveat that those controls operate outside the Kata policy layer and may not cover every guest-pull path.

Affected VersionsENISA

contrast 1.14.0 <1.23.1

Affected Packages

euvd contrast fix: 1.23.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Contrast (edgelesssys/contrast) is a Go-based toolchain from Edgeless Systems that generates runtime policies for Kata Containers so that Kubernetes pods run as confidential containers with a verifiable, policy-enforced image and storage integrity boundary. The vulnerable component is the policy generation logic, which emits an allow_storage rule that permits storage entries backed by the image_guest_pull driver - a Kata mechanism for pulling an image inside the guest rather than on the host - while omitting the image digest check that normally anchors the policy to an approved image. Because the rule was introduced accidentally during a rebase of the Kata Containers integration rather than by deliberate design, the policy appears valid but no longer binds the guest-pulled image content. The weakness maps to CWE-20 (Improper Input Validation): the generated policy fails to validate the identity of an input (the guest-pulled image) before authorizing it. An attacker with access to the Kata agent API can therefore present a substituted image that satisfies the remaining policy constraints and have it accepted, undermining the attested-integrity premise of the confidential container. The affected product is identified in the CPE data as cpe:2.3:a:edgelesssys:contrast:*:*:*:*:*:*:*:*, scoped by EUVD to versions 1.14.0 up to but not including 1.23.1.

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 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Attacker reaches the Kata agent API over the network (AV:N) from the threat model's privileged-but-untrusted admin position (PR:L); image substitution defeats both integrity and confidentiality of the confidential workload (I:H/C:H), with no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

3
CVSS changed
Oct 09, 2026 - 14:22 NVD
7.6 (HIGH) 8.6 (HIGH)
Patch available
Sep 27, 2026 - 03:16 EUVD
CVE Published
Sep 27, 2026 - 01:28 cve.org
HIGH 7.6

DescriptionCVE.org

Contrast (edgelesssys/contrast) versions 1.14.0 before 1.23.1 generate runtime policies that fail to detect all container image substitutions. A bad rebase during a Kata Containers update accidentally introduced an allow_storage rule that accepts storage entries using the image_guest_pull driver without verifying the image digest. An attacker with access to the Kata agent API - for example, a Kubernetes cluster administrator in Contrast's threat model - can therefore substitute a container image with an exploit payload, provided the substituted image satisfies the remaining policy rules, undermining the confidential container's integrity guarantees.

Technical POC Analysis

CWE-20 (Improper Input Validation): Contrast's generated runtime policy accepts a storage entry driven by the Kata imageguestpull driver without ever comparing the image digest (or source) against th…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Edgeless Contrast versions 1.14.0 through 1.23.0 contain a runtime-policy flaw in the Kata Containers integration that allows a Kubernetes cluster administrator to substitute a workload's container image and break the integrity guarantee that underpins the platform's confidential-computing promise. Because the affected product's core value proposition is protecting workloads from precisely this class of privileged infrastructure actor, customer trust and any confidentiality commitments made to tenants running on unpatched clusters are directly at risk. Exploitation is authenticated, requires an already highly privileged position, is not automatable, and no public exploit code has been identified, so near-term real-world exploitation risk is assessed as moderate rather than imminent.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche confidential-computing product for Kubernetes, small specialized deployment base
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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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