{
  "threat_severity" : "Critical",
  "public_date" : "2026-11-11T14:00:00Z",
  "bugzilla" : {
    "description" : "quay: Red Hat Quay: unauthenticated registry signing-key takeover via service key rotation",
    "id" : "2568072",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2568072"
  },
  "cvss3" : {
    "cvss3_base_score" : "9.8",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
    "status" : "draft"
  },
  "cwe" : "CWE-1287",
  "details" : [ "A flaw was found in Red Hat Quay. An unauthenticated client can obtain an anonymous registry token with an audience it controls, present that token to the service key rotation endpoint, and install its own approved signing key with no expiry. Registry tokens signed with that key are accepted for any repository, allowing read and write access to private images and replacement of repository tags." ],
  "statement" : "This Critical flaw in Red Hat Quay's service key server allows an unauthenticated attacker to take over registry token signing. Key rotation authenticates the caller only by verifying that the JWT is signed by an already approved service key with the expected audience and issuer, without checking that the token is a rotation credential. An anonymous token minted by /v2/auth satisfies that check. Installed keys inherit approval and can be created without an expiry, so forged registry tokens are accepted for any repository. Deployments where /keys is reachable by untrusted clients are affected.",
  "acknowledgement" : "This issue was discovered by Dave O'Connor (Red Hat).",
  "package_state" : [ {
    "product_name" : "Red Hat Quay 3",
    "fix_state" : "Affected",
    "package_name" : "quay/quay-rhel8",
    "cpe" : "cpe:/a:redhat:quay:3"
  }, {
    "product_name" : "Red Hat Quay 3",
    "fix_state" : "Affected",
    "package_name" : "quay/quay-rhel9",
    "cpe" : "cpe:/a:redhat:quay:3"
  }, {
    "product_name" : "Red Hat Quay 5",
    "fix_state" : "Affected",
    "package_name" : "quay/quay-rhel9",
    "cpe" : "cpe:/a:redhat:quay:5"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2026-123710\nhttps://nvd.nist.gov/vuln/detail/CVE-2026-123710" ],
  "name" : "CVE-2026-123710",
  "mitigation" : {
    "value" : "Restrict access to the /keys endpoint at the proxy or load balancer so only trusted internal components can reach it. Review audit logs for service_key_rotate and service_key_delete events with a null expiration_date, and remove any unrecognised approved service keys. Deleting a rogue key is not durable until a fixed build is deployed, because the anonymous request can install a new key.",
    "lang" : "en:us"
  },
  "csaw" : false
}