Description
Contrast (Edgeless Systems) through 1.20.0 performs unanchored suffix matching when selecting per-registry configuration in the imagepuller. Config.registryFor strips a single trailing dot and then uses strings.HasSuffix(hostname, fqdn) without requiring a DNS label boundary, so a registry entry such as [registries."ghcr.io."] is also applied to any host whose name merely ends in that byte sequence, including attacker-registered domains such as evilghcr.io. When an image or layer is pulled from such a sibling domain, the imagepuller sends the configured Authorization header (basic auth, registry token, or identity token), trusts the configured custom CA bundle, follows the configured mirror, and honours insecure-skip-verify (disabling TLS verification) for that host. Image integrity is not affected, as image bytes remain pinned by digest in the policy and are validated after the pull. Configurations that use a leading dot (e.g., [registries.".example.registry"]) are unaffected.
Published: 2026-09-27
Score: 6.3 Medium
EPSS: n/a
KEV: No
Impact: Credential Exposure via Registry Suffix Mis-matching
Action: Immediate Patch
AI Analysis

Impact

Contrast performs unanchored suffix matching when selecting per‑registry configuration for image pulls. It strips a trailing dot and then tests if a hostname ends with a configured fully‑qualified domain name without enforcing DNS label boundaries. Because of this flaw, a registry entry such as registries."ghcr.io." will be applied to any host whose name ends in "ghcr.io", including attacker‑controlled domains like evilghcr.io. When an image is pulled from such a domain the imagepuller automatically sends the configured Authorization header, trusts a custom CA bundle, follows a mirror, and honors insecure‑skip‑verify, thereby leaking credentials to the malicious registry. Image bytes are still validated by digest, so integrity is not compromised, but the sent credentials can be used by an attacker to access upstream services or resources.

Affected Systems

Affected installations are any deployment of Edgeless Systems Contrast version 1.20.0 or earlier that uses per‑registry configuration with suffix matching. The product is the Contrast image pulling component, and no other Edgeless product or version is currently listed as vulnerable.

Risk and Exploitability

The flaw has a CVSS base score of 6.3 and currently no EPSS value is available; it is not listed in CISA KEV. Attackers can register a domain that ends with the vulnerable suffix, and the mis‑applied registry entry will cause the imagepuller to send authorized credentials over possibly insecure connections. Exploitation requires network reach to the pulling environment and the ability to control a domain name matching the suffix but does not need elevated privileges. The risk is moderate and remediation is recommended.

Generated by OpenCVE AI on September 27, 2026 at 03:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Contrast to version 1.20.1 or later to obtain the fixed registry suffix matching logic.
  • If an upgrade is unavailable, remove or modify any registry entries that use suffix matching and replace them with exact hostnames or entries that start with a leading dot, ensuring strict boundary checks.
  • Revoke or rotate any credentials that may have been transmitted to untrusted domains, and audit credential usage logs for anomalous activity.
  • Consider disabling insecure‑skip‑verify or enforcing custom CA validation to limit credential exposure to untrusted registries.

Generated by OpenCVE AI on September 27, 2026 at 03:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 27 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Description Contrast (Edgeless Systems) through 1.20.0 performs unanchored suffix matching when selecting per-registry configuration in the imagepuller. Config.registryFor strips a single trailing dot and then uses strings.HasSuffix(hostname, fqdn) without requiring a DNS label boundary, so a registry entry such as [registries."ghcr.io."] is also applied to any host whose name merely ends in that byte sequence, including attacker-registered domains such as evilghcr.io. When an image or layer is pulled from such a sibling domain, the imagepuller sends the configured Authorization header (basic auth, registry token, or identity token), trusts the configured custom CA bundle, follows the configured mirror, and honours insecure-skip-verify (disabling TLS verification) for that host. Image integrity is not affected, as image bytes remain pinned by digest in the policy and are validated after the pull. Configurations that use a leading dot (e.g., [registries.".example.registry"]) are unaffected.
Title Edgeless Systems Contrast through 1.20.0 Credential Leak via Registry Suffix Matching
Weaknesses CWE-1289
References
Metrics cvssV3_1

{'score': 3.7, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N'}

cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-27T01:30:05.443Z

Reserved: 2026-09-26T23:23:03.410Z

Link: CVE-2026-100837

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-27T02:17:21.937

Modified: 2026-09-27T02:17:21.937

Link: CVE-2026-100837

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T04:00:17Z

Weaknesses
  • CWE-1289

    Improper Validation of Unsafe Equivalence in Input