CVE-2026-48758
MediumCVSS 5.4Exploitation Probability (EPSS)
Low risk18th percentile - higher than 18% of all known CVEs
Summary
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.
Risk Assessment
An attacker can alter the payload type in a signed message, leading to misinterpretation of data and potential bypass of DSSE-based security mechanisms.
Recommendation
Immediately update the @sigstore/core library to version 3.2.1 or later, which contains the fix for this vulnerability.
Other vulnerabilities in sigstore-js
See all- CVE-2026-59891Critical
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.
- 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.
Original NVD description (English source)
sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 3.2.1, the preAuthEncoding function in @sigstore/core uses Node.js ascii encoding when converting the PAE string to bytes, allowing payloadType to be mutated after signing without invalidating the signature and breaking the type-binding guarantee that DSSE is designed to provide. This issue is fixed in version 3.2.1.

