{"api_version":"1","generated_at":"2026-07-16T06:23:50+00:00","cve":"CVE-2026-59891","urls":{"html":"https://cve.report/CVE-2026-59891","api":"https://cve.report/api/cve/CVE-2026-59891.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-59891","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-59891"},"summary":{"title":"Credential confusion in  @sigstore/oci  can leak registry credentials to an attacker-controlled registry","description":"sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.1, getRegistryCredentials() reads credentials from the Docker config file and selects an entry by checking whether any configured auth key contains the target registry string. Because this is a substring match rather than an exact host match, credentials configured for one registry can be selected for and transmitted to a different registry whose hostname has a substring relationship with a configured auth key. This issue is fixed in version 0.7.1.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-07-14 17:17:15","updated_at":"2026-07-15 20:18:23"},"problem_types":["CWE-522","CWE-522 CWE-522: Insufficiently Protected Credentials"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"9.6","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","baseScore":9.6,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.6","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.6,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/sigstore/sigstore-js/releases/tag/%40sigstore%2Foci%400.7.1","name":"https://github.com/sigstore/sigstore-js/releases/tag/%40sigstore%2Foci%400.7.1","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sigstore/sigstore-js/security/advisories/GHSA-pf56-329r-95rw","name":"https://github.com/sigstore/sigstore-js/security/advisories/GHSA-pf56-329r-95rw","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/sigstore/sigstore-js/commit/85c58380758b97ce1b74ef470e55cc21f9d3aa89","name":"https://github.com/sigstore/sigstore-js/commit/85c58380758b97ce1b74ef470e55cc21f9d3aa89","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-59891","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59891","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"sigstore","product":"sigstore-js","version":"affected < 0.7.1","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"59891","cve":"CVE-2026-59891","epss":"0.003210000","percentile":"0.241380000","score_date":"2026-07-15","updated_at":"2026-07-16 00:08:43"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"sigstore-js","vendor":"sigstore","versions":[{"status":"affected","version":"< 0.7.1"}]}],"descriptions":[{"lang":"en","value":"sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.1, getRegistryCredentials() reads credentials from the Docker config file and selects an entry by checking whether any configured auth key contains the target registry string. Because this is a substring match rather than an exact host match, credentials configured for one registry can be selected for and transmitted to a different registry whose hostname has a substring relationship with a configured auth key. This issue is fixed in version 0.7.1."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":9.6,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-522","description":"CWE-522: Insufficiently Protected Credentials","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-07-14T16:54:50.608Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/sigstore/sigstore-js/security/advisories/GHSA-pf56-329r-95rw","tags":["x_refsource_CONFIRM"],"url":"https://github.com/sigstore/sigstore-js/security/advisories/GHSA-pf56-329r-95rw"},{"name":"https://github.com/sigstore/sigstore-js/commit/85c58380758b97ce1b74ef470e55cc21f9d3aa89","tags":["x_refsource_MISC"],"url":"https://github.com/sigstore/sigstore-js/commit/85c58380758b97ce1b74ef470e55cc21f9d3aa89"},{"name":"https://github.com/sigstore/sigstore-js/releases/tag/%40sigstore%2Foci%400.7.1","tags":["x_refsource_MISC"],"url":"https://github.com/sigstore/sigstore-js/releases/tag/%40sigstore%2Foci%400.7.1"}],"source":{"advisory":"GHSA-pf56-329r-95rw","discovery":"UNKNOWN"},"title":"Credential confusion in  @sigstore/oci  can leak registry credentials to an attacker-controlled registry"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-59891","datePublished":"2026-07-14T16:54:50.608Z","dateReserved":"2026-07-07T16:40:07.983Z","dateUpdated":"2026-07-14T16:54:50.608Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-14 17:17:15","lastModifiedDate":"2026-07-15 20:18:23","problem_types":["CWE-522","CWE-522 CWE-522: Insufficiently Protected Credentials"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","baseScore":9.6,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"59891","Ordinal":"1","Title":"Credential confusion in  @sigstore/oci  can leak registry creden","CVE":"CVE-2026-59891","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"59891","Ordinal":"1","NoteData":"sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.1, getRegistryCredentials() reads credentials from the Docker config file and selects an entry by checking whether any configured auth key contains the target registry string. Because this is a substring match rather than an exact host match, credentials configured for one registry can be selected for and transmitted to a different registry whose hostname has a substring relationship with a configured auth key. This issue is fixed in version 0.7.1.","Type":"Description","Title":"Credential confusion in  @sigstore/oci  can leak registry creden"}]}}}