CVE-2026-59891
CriticalCVSS 9.6Exploitation Probability (EPSS)
Low risk24th percentile - higher than 24% of all known CVEs
Summary
In sigstore-js prior to version 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.
Risk Assessment
The risk involves unauthorized disclosure of registry credentials, potentially leading to identity theft or unauthorized access to organizational resources.
Recommendation
Immediately upgrade sigstore-js to version 0.7.1 or later, which fixes the substring matching vulnerability.
Other vulnerabilities in sigstore-js
See all- CVE-2026-48816Medium
A vulnerability in sigstore-js (versions prior to 3.1.1) allows an attacker to manipulate the transparency-log timestamp for inclusionProof-only entries in v0.2 bundles. Since the inclusion proof path does not cryptographically bind the timestamp, an attacker can influence certificate validity and timestamp threshold verification decisions.
- CVE-2026-48815High
In sigstore-js before version 4.1.1, the documented certificateOIDs option in sigstore.verify() is accepted by the public API but discarded before verification. This means required certificate extension OIDs are never checked, and applications relying on certificateOIDs to restrict which certificates may sign artifacts can accept unauthorized certificates.
- CVE-2026-48758Medium
A vulnerability in sigstore-js (versions prior to 3.2.1) allows mutation of the payload type after signing without invalidating the signature, breaking the type-binding guarantee of DSSE. The preAuthEncoding function uses Node.js ASCII encoding, enabling manipulation of the payloadType field.
Original NVD description (English source)
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.

