Read the docs

@sigstore/oci leaks registry credentials to cross-host upload URLs

Priority LOW 32CWE-522Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-522.

Summary

sigstore-js and the @sigstore/oci npm package before 0.7.2 send registry Authorization and Docker configuration headers to an absolute blob-upload Location supplied by the registry without checking that it matches the registry's origin (CWE-522). A malicious or compromised registry can direct a user pushing an artifact through attachArtifactToImage() to an attacker-controlled host, which receives the registry bearer token, Basic credentials, or custom authentication headers.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.2, packages/oci/src/registry.ts contains a RegistryClient.signIn() method that stores registry Authorization and Docker configuration headers as defaults on a shared HTTP client, while RegistryClient.uploadBlob() sends a fresh PUT to an absolute blob-upload Location supplied by the registry without checking that its origin or scheme matches the registry. A malicious or compromised registry can therefore direct a user pushing an artifact through attachArtifactToImage() to an attacker-controlled host and receive the registry bearer token, Basic credentials, or custom authentication headers. Redirect-time header stripping does not prevent the leak because the cross-host PUT is a new explicit request rather than a followed redirect. This is a residual of CVE-2026-59891, whose fix changed credential selection in credentials.ts but did not constrain where credentials are sent from registry.ts. Version 0.7.2 fixes the issue by separating registry credentials from client-wide defaults and sending them only to the registry origin.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.003 22nd percentileScored 2026-11-07
Fix Fixed sigstore-js (sigstore): 0.7.2@sigstore/oci (npm): 0.7.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
sigstoresigstore-jsbefore 0.7.20.7.2Patch availableCNA
—@sigstore/oci (npm)before 0.7.20.7.2Patch availableGHSA-j63v-mwhm-56jx
  • sigstore-js Vendorsigstore Affected before 0.7.2 Fixed in 0.7.2 Patch available CNA
  • @sigstore/oci (npm) Vendor— Affected before 0.7.2 Fixed in 0.7.2 Patch available GHSA-j63v-mwhm-56jx

Remediation

Update sigstore-js to version 0.7.2 and @sigstore/oci to version 0.7.2, which send registry credentials only to the registry origin.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

  • Fix · CNA sigstore-js (sigstore) Fixed in 0.7.2
  • Fix · GHSA-j63v-mwhm-56jx @sigstore/oci (npm) Fixed in 0.7.2 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-29 Threatist record created from CVE-2026-118763
  2. 2026-10-30 CISA SSVC decision points changed
  3. 2026-10-30 Priority changed: MEDIUM → LOW
  4. 2026-10-30 Alias added: GHSA-j63v-mwhm-56jx
  5. 2026-10-30 Fix available: npm/@sigstore/[email protected] · GHSA-j63v-mwhm-56jx
  6. 2026-10-30 CVSS score added · GHSA-j63v-mwhm-56jx
  7. 2026-10-30 Weakness changed · GHSA-j63v-mwhm-56jx
  8. 2026-10-30 7 new references · GHSA-j63v-mwhm-56jx
  9. 2026-11-07 Affected versions changed · Red Hat
  10. 2026-11-07 CVSS score added · Red Hat

References

  • TI-2022-16356 False positive signature verification in cosign CVSS 3.1CRITICAL 9.8
  • TI-2026-36084 sigstore-js: `certificateOIDs` verification constraints are silently dropped and never enforced CVSS 3.1HIGH 7.5
  • TI-2024-19670 Cosign vulnerable to machine-wide denial of service via malicious artifacts CVSS 3.1HIGH 7.5
  • TI-2026-18290 Fulcio vulnerable to Server-Side Request Forgery (SSRF) via MetaIssuer Regex Bypass CVSS 3.1MEDIUM 5.8
  • TI-2026-36085 sigstore-js: Insufficient Verification of Data Authenticity CVSS 3.1MEDIUM 6.5
  • TI-2024-19669 Cosign vulnerable to system-wide denial of service via malicious attachments CVSS 3.1MEDIUM 5.9
See all 39 →

Sources