CVE-2026-100837: Edgeless Systems Contrast through 1.20.0 Credential Leak via Registry Suffix Matching

Published Sep 27, 2026
·
Updated

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.

Affected Software

1 affected component
Edgeless Systems Contrast<=1.20.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Use a leading dot in registry entries to avoid unanchored suffix matching; configurations using a leading dot are unaffected.

    Contrast imagepuller registry configuration registry hostname key = Leading-dot hostname, e.g. [registries.".example.registry"]

Event History

Sep 27, 2026
CVE Published
via MITRE·01:30 AM
Data Sourced
via MITRE·01:30 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:17 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which configurations are exposed to credential leakage?

Configurations with a per-registry entry whose name can be matched as an unanchored suffix are exposed. For example, an entry for "ghcr.io." can also match a host such as "evilghcr.io"; entries using a leading dot, such as ".example.registry", are unaffected.

2

What does an attacker need to exploit this issue?

An attacker needs control of a domain whose hostname ends with the configured registry string and must cause an image or layer to be pulled from that domain. No authentication or user interaction is required under the supplied CVSS vector, but exploitation has high attack complexity.

3

What information or settings can be exposed to the attacker-controlled host?

The imagepuller can send the configured Authorization header, including basic authentication, registry tokens, or identity tokens. It can also apply the registry's custom CA bundle, configured mirror, and insecure-skip-verify setting to the attacker-controlled host.

4

Is image integrity affected?

No. Image bytes remain pinned by digest in the policy and are validated after the pull.

5

What configuration change can mitigate exposure if updating is not immediately possible?

Use registry configuration entries with a leading dot, such as ".example.registry", rather than entries that can be matched as an unanchored suffix. Leading-dot configurations are stated to be unaffected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203