CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-59891

criticalpublic exploitCVSS 9.6covered by 2 sourcesfirst seen 2026-07-14
Public exploit code is available. Proof-of-concept or working exploit code for CVE-2026-59891 is indexed in GitHub PoC. Expect opportunistic scanning and exploitation attempts — prioritize remediation even though it is not (yet) in the CISA KEV catalog.
Impact This is a credential-exposure / credential-confusion issue. getRegistryCredentials() reads credentials from the Docker config file (~/.docker/config.json) and selects an entry by checking whether any configured auth key contains the target registry string: Object.keys(dockerConfig.auths || {}).find((key) => key.includes(registry)) 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 (for example, an attacker-controlled cr.io matches a configured ghcr.io). Who is impacted: Any consumer of @sigstore/oci that uploads artifacts to an OCI registry using credentials from a Docker config, where the destination registry/image reference can be influenced by an untrusted party. This includes @actions/attest and the actions/attest, actions/attest-build-provenance, and actions/attest-sbom GitHub Actions when run with push-to-registry: true, where the subject-name input determines the destination registry. This is classified as a critical vulnerability given the potential, in a theoretical worst-case scenario, to expose long-lived registry credentials. However, in practice, exploitation requires all of the following: - The Docker config on the host contains credentials for a registry. - The destination registry/image reference is influenced by an untrusted source. - The attacker controls a registry whose hostname is a substring of (or is otherwise contained within) a configured Docker auth key. Under those conditions, registry credentials present on the host (e.g. a GHCR, Docker Hub, or cloud-registry token) can be sent to an attacker-controlled registry during the authentication exchange. Patches Fixed in @sigstore/oci@0.7.1. Credential selection now requires an exact host match: both the target registry and each Docker auth key are canonicalized — stripping any https?:// s

⚡ Watch CVE-2026-59891

Get an email if CVE-2026-59891 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Exploitation outlook

Exploit availability

Public exploit or proof-of-concept code for CVE-2026-59891 is indexed in these free datasets. Available exploit code raises real-world risk independent of the CVSS score.

Advisory coverage (2)

External references

NVD record for CVE-2026-59891

CVE.org record

Embed the live status

CVE-2026-59891 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-59891 status](https://www.csirts.com/badge/CVE-2026-59891)](https://www.csirts.com/cve/CVE-2026-59891)