---
id: CVE-2026-100836
title: >-
  Contrast through 1.20.0 contains a panic vulnerability in the transit-engine
  endpoint's ciphertextContainer.UnmarshalJSON function that fails to validate
  decoded ciphertext length before slicing
summary: >-
  Contrast through 1.20.0 contains a panic vulnerability in the transit-engine
  endpoint's ciphertextContainer.UnmarshalJSON function that fails to validate
  decoded ciphertext length before slicing. An authenticated workload with a
  valid me…
severity: medium
cvss: 4.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-129
vendor: edgelesssys
product: contrast
affected:
  - contrast <= 1.20.0
patched:
  - github.com/edgelesssys/contrast 1.21.0
published: '2026-09-27'
updated: '2026-09-28'
sourceUpdated: '2026-09-28T16:17:11.160'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100836'
references:
  - url: >-
      https://github.com/edgelesssys/contrast/security/advisories/GHSA-3ccm-4qq2-5wrp
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/edgeless-systems-contrast-through-1.20.0-denial-of-service-via-ciphertextcontainer
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/edgelesssys/contrast/security/advisories/GHSA-3ccm-4qq2-5wrp
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://github.com/edgelesssys/contrast/commit/d6584fbff816037472034f7ad6e08cdbab1d870d
  - url: 'https://github.com/edgelesssys/contrast'
  - url: 'https://github.com/edgelesssys/contrast/releases/tag/v1.21.0'
tags:
  - nvd
  - cve.org
  - exploit-available
  - osv
  - go
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-28T16:00:31.401784Z'
aliases:
  - GHSA-3ccm-4qq2-5wrp
  - GO-2026-5864
ecosystem: go
ingestedAt: '2026-09-27T02:41:45.570Z'
epss: 0.00177
epssPercentile: 0.07248
---

## Overview

Contrast through 1.20.0 contains a panic vulnerability in the transit-engine endpoint's ciphertextContainer.UnmarshalJSON function that fails to validate decoded ciphertext length before slicing. An authenticated workload with a valid mesh certificate can trigger a runtime panic by submitting a short base64-encoded ciphertext, causing log spam and request failures without crashing the process.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-100836)

Affected packages:

- `github.com/edgelesssys/contrast < 1.21.0`

Patched in:

- `github.com/edgelesssys/contrast 1.21.0`

Source: https://osv.dev/vulnerability/GHSA-3ccm-4qq2-5wrp
