A flaw was found in Red Hat Quay's repository-level mirror configuration
feature. The POST and PUT handlers in endpoints/api/mirror.py accept an
external_reference parameter without SSRF validation, unlike the
organization-level mirror handlers which apply validate_external_registry_url().
A repository administrator can supply a crafted hostname that causes the Quay
mirror worker to make requests via Skopeo to internal network services, cloud
metadata endpoints, or other resources not intended to be reachable from the
Quay application.
Restrict network egress from Quay mirror worker pods/containers using network
policies or firewall rules to block access to internal network ranges
(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and cloud metadata endpoints
(169.254.169.254, metadata.google.internal). Limit repository creation and
admin privileges to trusted users via Quay's RBAC configuration. If
repository-level mirroring is not required, disable the feature or restrict
access to the mirror API endpoints through a reverse proxy.