CVE-2026-48815: sigstore-js: `certificateOIDs` verification constraints are silently dropped and never enforced
Summary
The documented certificateOIDs option in sigstore.verify() is accepted by the public API but discarded before verification, so required certificate extension OIDs are never checked.
Details
The public verify options include certificateOIDs and the documentation says those OID/value pairs “must be present in the certificate’s extension list.” The policy-construction path used by sigstore.verify() and createVerifier() only copies the SAN and issuer settings into the verification policy and completely ignores certificateOIDs.
As a result, callers can believe they are constraining verification to certificates carrying specific Fulcio or workload-identifying OIDs, while the actual verifier never receives those constraints. Any bundle that satisfies the remaining checks is accepted even if the required OID extensions are absent or mismatched.
This is reachable from supported usage through the documented certificateOIDs verify option.
PoC
javascript const { createVerificationPolicy } = require("sigstore/dist/config");
const policy = createVerificationPolicy({ certificateIssuer: "https://issuer.example", certificateIdentityEmail: "victim@example.com", certificateOIDs: { "1.2.3.4": "required-value", }, });
console.log("certificateOIDs" in policy, JSON.stringify(policy)); // false {"subjectAlternativeName":"victim@example.com","extensions":{"issuer":"https://issuer.example"}}
Impact
Applications that rely on certificateOIDs to restrict which certificates may sign artifacts receive no such protection. Unauthorized certificates that should be rejected on extension policy can be accepted as long as they satisfy the remaining verification checks.
Other sources
sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 4.1.1, the documented certificateOIDs option in sigstore.verify() is accepted by the public API but discarded before verification, so required certificate extension OIDs are never checked and applications relying on certificateOIDs to restrict which certificates may sign artifacts can accept unauthorized certificates. This issue is fixed in version 4.1.1.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/sigstoreto a version that resolves this vulnerability.Fixed in 4.1.1 - Upgrade
Upgrade
sigstore-jsto a version that resolves this vulnerability.Fixed in 4.1.1
Event History
Frequently Asked Questions
What is the severity of CVE-2026-48815?
CVE-2026-48815 has a severity rating of 7.5, which classifies it as high risk.
What are the implications of CVE-2026-48815?
CVE-2026-48815 allows for the omission of necessary certificate extension OIDs during verification, potentially leading to insecure operations.
How do I fix CVE-2026-48815?
To address CVE-2026-48815, ensure you are using an updated version of the sigstore library where the `certificateOIDs` are properly handled.
Who is affected by CVE-2026-48815?
CVE-2026-48815 affects users of the npm/sigstore library where the public API's certificate verification process is flawed.
Is CVE-2026-48815 a remote exploit?
Yes, CVE-2026-48815 is categorized under network attack vectors as it is accessible through the public API.