{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-123710", "assignerOrgId": "53f830b8-0a3f-465b-8143-3b8a9948e749", "state": "PUBLISHED", "assignerShortName": "redhat", "dateReserved": "2026-11-06T10:23:55.509Z", "datePublished": "2026-11-11T15:02:31.341Z", "dateUpdated": "2026-11-11T15:02:31.341Z" }, "containers": { "cna": { "title": "Quay: red hat quay: unauthenticated registry signing-key takeover via service key rotation", "metrics": [ { "other": { "content": { "value": "Critical", "namespace": "https://access.redhat.com/security/updates/classification/" }, "type": "Red Hat severity rating" } }, { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 9.8, "baseSeverity": "CRITICAL", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "version": "3.1" }, "format": "CVSS" } ], "descriptions": [ { "lang": "en", "value": "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." } ], "affected": [ { "vendor": "Red Hat", "product": "Red Hat Quay 3", "collectionURL": "https://access.redhat.com/downloads/content/package-browser/", "packageName": "quay/quay-rhel8", "defaultStatus": "affected", "cpes": [ "cpe:/a:redhat:quay:3" ] }, { "vendor": "Red Hat", "product": "Red Hat Quay 3", "collectionURL": "https://access.redhat.com/downloads/content/package-browser/", "packageName": "quay/quay-rhel9", "defaultStatus": "affected", "cpes": [ "cpe:/a:redhat:quay:3" ] }, { "vendor": "Red Hat", "product": "Red Hat Quay 5", "collectionURL": "https://access.redhat.com/downloads/content/package-browser/", "packageName": "quay/quay-rhel9", "defaultStatus": "affected", "cpes": [ "cpe:/a:redhat:quay:5" ] } ], "references": [ { "url": "https://access.redhat.com/security/cve/CVE-2026-123710", "tags": [ "vdb-entry", "x_refsource_REDHAT" ] }, { "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2568072", "name": "RHBZ#2568072", "tags": [ "issue-tracking", "x_refsource_REDHAT" ] } ], "datePublic": "2026-11-11T14:00:00.000Z", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-1287", "description": "Improper Validation of Specified Type of Input", "lang": "en", "type": "CWE" } ] } ], "x_redhatCweChain": "CWE-1287: Improper Validation of Specified Type of Input", "workarounds": [ { "lang": "en", "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." } ], "timeline": [ { "lang": "en", "time": "2026-11-06T09:44:27.114Z", "value": "Reported to Red Hat." }, { "lang": "en", "time": "2026-11-11T14:00:00.000Z", "value": "Made public." } ], "credits": [ { "lang": "en", "value": "This issue was discovered by Dave O'Connor (Red Hat)." } ], "providerMetadata": { "orgId": "53f830b8-0a3f-465b-8143-3b8a9948e749", "shortName": "redhat", "dateUpdated": "2026-11-11T15:02:31.341Z" }, "x_generator": { "engine": "cvelib 1.8.0" } } } }