Skip to main content

sigstore-js EUVDEUVD-2026-44494

| CVE-2026-48815 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-07-01 https://github.com/sigstore/sigstore-js GHSA-52v5-jr5w-gjxr
7.5
CVSS 3.1 · Vendor: https://github.com/sigstore/sigstore-js
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain certificate passing SAN/issuer checks
  2. Delivery
    Craft signed bundle lacking required OIDs
  3. Exploit
    Submit bundle to app using certificateOIDs
  4. Execution
    certificateOIDs constraint silently skipped
  5. Impact
    Unauthorized artifact accepted as trusted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires that the target application invokes sigstore.verify() or createVerifier()/createVerificationPolicy() with the certificateOIDs option set and treats those OID/value pairs as a security-relevant restriction - this is a non-default, opt-in usage, not the library baseline. The attacker must also present a signing bundle whose certificate satisfies every other enforced check (the SAN/certificateIdentityEmail and certificateIssuer settings) while lacking or mismatching the OID extensions that were supposed to be required. Limiting factors: applications that do not use certificateOIDs are unaffected; applications relying only on issuer/SAN are unaffected; and the attacker cannot bypass the SAN and issuer constraints, so they still need a certificate valid under those. No user interaction or prior authentication to the verifier is needed.

Impact

The CVSS 3.1 base score is 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N), reflecting an integrity-only impact with no confidentiality or availability loss - consistent with a verification bypass rather than code execution or data disclosure. A working PoC exists, which raises practical concern, but this is not active exploitation and is not KEV-listed; EPSS was not provided. Crucially, real-world risk is gated by configuration: the flaw only matters for applications that actually pass certificateOIDs and rely on it as a security control, and an attacker still needs a certificate that satisfies the remaining SAN/issuer checks. Because those limiting factors are not captured in the CVSS vector, the AC:L / PR:N rating likely overstates typical exploitability - I assess attack complexity as higher (see assessed vector). Net: a genuine trust-boundary weakness for the subset of deployments using OID pinning, but lower blast radius than a raw 7.5 suggests for default configurations.

Exploit ScenarioDerived

An organization verifies signed artifacts with sigstore.verify() and passes certificateOIDs to require a workload-identity extension that only its trusted build system's Fulcio certificates carry. Because that constraint is silently discarded, an attacker who obtains any certificate matching the configured issuer and identity - but lacking the required OID - can produce a bundle that passes verification, and the application accepts a malicious artifact it should have rejected. A PoC demonstrating that certificateOIDs is absent from the constructed policy is published in the advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 01, 2026

Signature verification policy bypass in the sigstore npm package allows attackers to have unauthorized signing certificates accepted despite explicit OID-based restrictions. The documented certificateOIDs verify option - used by sigstore.verify() and createVerifier() to require specific Fulcio/workload-identity extension OIDs - is silently discarded during policy construction, so those extension constraints are never enforced while callers believe they are. Publicly available exploit code exists (a proof-of-concept in the advisory), but there is no evidence of active exploitation; EPSS/KEV not indicated in the source data.

RemediationAI

Upgrade to the fixed release of the sigstore npm package as directed by advisory GHSA-52v5-jr5w-gjxr (https://github.com/sigstore/sigstore-js/security/advisories/GHSA-52v5-jr5w-gjxr); the exact patched version is not present in the provided data and should be taken from the advisory. Until patched, do not treat certificateOIDs as an enforced control - instead tighten the constraints that ARE honored by supplying strict certificateIssuer and certificateIdentityEmail/SAN values so verification is narrowed by identity and issuer rather than by the ignored OID map (trade-off: this cannot express arbitrary Fulcio/workload OID requirements, so use the most specific trusted identity and issuer you can). Additionally, add an application-side post-verification check that inspects the verified certificate's extensions for the required OID/value pairs before accepting a bundle (trade-off: requires custom code and access to the parsed certificate). Avoid relying on OID pinning as the sole authorization gate until the upgrade is confirmed.

Affected VersionsENISA

sigstore-js < 4.1.1

Affected Packages

npm sigstore fix: 4.1.1
euvd sigstore_js fix: 4.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

sigstore-js is the JavaScript/TypeScript implementation of the Sigstore artifact-signing ecosystem (Fulcio-issued short-lived certificates, Rekor transparency log, bundle verification) and is consumed by CI/CD and supply-chain tooling to verify signed software bundles. Verification is governed by a policy object built in sigstore/dist/config via createVerificationPolicy(). The root cause maps to CWE-347 (Improper Verification of Cryptographic Signature): the policy builder copies only the Subject Alternative Name (identity) and issuer settings into the effective policy and drops the certificateOIDs map entirely, so the underlying verifier is never handed the required extension-OID constraints. The PoC confirms this - the returned policy contains subjectAlternativeName and extensions.issuer but no certificateOIDs key. Affected package per CPE: pkg:npm/sigstore.

Know when Jwt Attack gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/sigstore/sigstore-js) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 5.9 MEDIUM

Integrity-only bypass (I:H, C/A:N); AC:H because it requires the non-default certificateOIDs config plus a certificate that still passes the enforced SAN/issuer checks; no privileges or interaction needed.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 5.9 MEDIUM

Primary rating from Vendor (https://github.com/sigstore/sigstore-js).

CVSS VectorVendor: https://github.com/sigstore/sigstore-js

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 4,542 npm packages depend on sigstore (134 direct, 4,410 indirect)

Ecosystem-wide dependent count for version 4.1.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
widely used Sigstore signing library, but OID-pinning feature is niche
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2013-3900 MEDIUM
5.5 Dec 11

Why is Microsoft republishing a CVE from 2013? We are republishing CVE-2013-3900 in the Security Update Guide to update

CVE-2026-48558 CRITICAL POC
9.5 Jun 12

Authentication bypass in SimpleHelp 5.5.15 and prior (plus 6.0 pre-release builds) allows remote unauthenticated attacke

CVE-2026-5430 CRITICAL POC
10.0 Aug 06

Authentication bypass in WSO2 API Manager and related components (Universal Gateway, Traffic Manager, API Control Plane,

CVE-2025-59718 CRITICAL
9.8 Dec 09

Authentication bypass in Fortinet FortiOS, FortiProxy, and FortiSwitchManager allows unauthenticated remote attackers to

CVE-2025-25291 CRITICAL POC
9.3 Mar 12

ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS

CVE-2026-47304 CRITICAL POC
9.8 Jul 14

Security feature bypass in Microsoft .NET (shipped via Visual Studio 2022 17.12/17.14 and Visual Studio 2026 18.7) lets

CVE-2025-25292 CRITICAL POC
9.3 Mar 12

ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. Rated critical severity (CVS

CVE-2022-25898 CRITICAL POC
9.8 Jul 01

The package jsrsasign before 10.5.25 are vulnerable to Improper Verification of Cryptographic Signature when JWS or JWT

CVE-2026-107722 CRITICAL POC
9.8 Oct 08

Authentication and authorization bypass in fast-jwt 6.2.0 through 6.2.4 (npm, NearForm) lets a remote, unauthenticated a

CVE-2024-42004 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in Microsoft Teams (work or school) 24046.2813.2770.1094 for macOS. Rated criti

CVE-2024-41145 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in the WebView.app helper app of Microsoft Teams (work or school) 24046.2813.27

CVE-2024-41138 CRITICAL POC
9.8 Dec 18

A library injection vulnerability exists in the com.microsoft.teams2.modulehost.app helper app of Microsoft Teams (work

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Web and Scripting 15 SP7 Not-Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy