{"id":"CVE-2025-24976","state":"PUBLISHED","title":"Distribution's token authentication allows attacker to inject an untrusted signing key in a JWT","description":"Distribution is a toolkit to pack, ship, store, and deliver container content. Systems running registry versions 3.0.0-beta.1 through 3.0.0-rc.2 with token authentication enabled may be vulnerable to an issue in which token authentication allows an attacker to inject an untrusted signing key in a JSON web token (JWT). The issue lies in how the JSON web key (JWK) verification is performed. When a JWT contains a JWK header without a certificate chain, the code only checks if the KeyID (`kid`) matches one of the trusted keys, but doesn't verify that the actual key material matches. A fix for the issue is available at commit 5ea9aa028db65ca5665f6af2c20ecf9dc34e5fcd and expected to be a part of version 3.0.0-rc.3. There is no way to work around this issue without patching if the system requires token authentication.","publishedAt":"2025-02-11T15:48:59.700Z","updatedAt":"2026-01-23T17:04:22.154Z","severity":{"score":6.6,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","source":"GitHub_M"},"assigner":"GitHub_M","products":["distribution distribution"],"affected":[{"vendor":"distribution","product":"distribution","versions":[{"version":">= 3.0.0-beta.1, <= 3.0.0-rc.2","status":"affected"}]}],"references":["https://github.com/distribution/distribution/security/advisories/GHSA-phw4-mc57-4hwc","https://github.com/distribution/distribution/commit/f4a500caf68169dccb0b54cb90523e68ee1ac2be"],"weaknesses":["CWE-639"],"ingestedAt":"2026-10-29T20:08:47.682Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/24xxx/CVE-2025-24976.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-24976","state":"PUBLISHED","datePublished":"2025-02-11T15:48:59.700Z","dateUpdated":"2026-01-23T17:04:22.154Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2025-01-29T15:18:03.211Z"},"containers":{"cna":{"title":"Distribution's token authentication allows attacker to inject an untrusted signing key in a JWT","descriptions":[{"lang":"en","value":"Distribution is a toolkit to pack, ship, store, and deliver container content. Systems running registry versions 3.0.0-beta.1 through 3.0.0-rc.2 with token authentication enabled may be vulnerable to an issue in which token authentication allows an attacker to inject an untrusted signing key in a JSON web token (JWT). The issue lies in how the JSON web key (JWK) verification is performed. When a JWT contains a JWK header without a certificate chain, the code only checks if the KeyID (`kid`) matches one of the trusted keys, but doesn't verify that the actual key material matches. A fix for the issue is available at commit 5ea9aa028db65ca5665f6af2c20ecf9dc34e5fcd and expected to be a part of version 3.0.0-rc.3. There is no way to work around this issue without patching if the system requires token authentication."}],"affected":[{"vendor":"distribution","product":"distribution","versions":[{"version":">= 3.0.0-beta.1, <= 3.0.0-rc.2","status":"affected"}]}],"references":[{"url":"https://github.com/distribution/distribution/security/advisories/GHSA-phw4-mc57-4hwc","name":"https://github.com/distribution/distribution/security/advisories/GHSA-phw4-mc57-4hwc","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/distribution/distribution/commit/f4a500caf68169dccb0b54cb90523e68ee1ac2be","name":"https://github.com/distribution/distribution/commit/f4a500caf68169dccb0b54cb90523e68ee1ac2be","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":6.6,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-639","lang":"en","description":"CWE-639: Authorization Bypass Through User-Controlled Key","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-01-23T17:04:22.154Z"},"source":{"advisory":"GHSA-phw4-mc57-4hwc","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2025-24976","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2025-02-11T16:00:59.994996Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-02-12T20:51:44.516Z"}}]}}}