Executive brief
Edgeless Systems Contrast, a tool for confidential computing, contains a flaw in how it identifies container registries. This vulnerability could allow an attacker to trick the system into sending sensitive login credentials or security configurations to a malicious server that mimics a trusted registry's name. While this could lead to the theft of registry passwords, it does not allow an attacker to modify the software being downloaded.
Technical details
The `Config.registryFor` function in the Contrast Imagepuller component incorrectly identifies registries using unanchored suffix matching via `strings.HasSuffix`. Because the match does not enforce a boundary (like a dot) between the configured FQDN and the request hostname, a configuration for a trusted registry like 'ghcr.io' would also match an attacker-controlled domain like 'evilghcr.io'. If a pull request is directed to such a sibling domain, the Imagepuller will leak the configured Authorization headers, trust custom CA bundles, or apply 'insecure-skip-verify' settings intended for the trusted registry. The vulnerability is mitigated by the fact that image integrity is still verified by digest, preventing code injection. A fix is available in version 1.21.0 which implements exact label matching.
Affected products
- Edgeless Systems Contrast <= 1.20.0
Timeline
- 2026-05-27: disclosed
- 2026-07-01: advisory: Published to GitHub Advisory Database