Insufficiently Protected Credentials Affecting @sigstore/oci package, versions <0.7.2


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.3% (23rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-SIGSTOREOCI-22132210
  • published2 Nov 2026
  • disclosed29 Oct 2026
  • creditArpit Jain

Introduced: 29 Oct 2026

NewCVE-2026-118763  (opens in a new tab)
CWE-522  (opens in a new tab)

How to fix?

Upgrade @sigstore/oci to version 0.7.2 or higher.

Overview

@sigstore/oci is an OCI artifact support

Affected versions of this package are vulnerable to Insufficiently Protected Credentials via the uploadBlob() function in registry.ts, which follows redirect responses to cross-origin URLs without stripping credential headers. When a registry returns a redirect to a different host during a blob upload, the Authorization header - set globally via .defaults() in signIn() - is forwarded to the redirect target, allowing a malicious registry to harvest the caller's credentials.

PoC

Source-verified. No live push against a hostile registry was executed in this pass. Confirmed:

rg -n "defaults\(|HEADER_AUTHORIZATION|Location|new URL\(|this.#fetch\(uploadLocation" packages/oci/src/registry.ts
git log --oneline -3 -- packages/oci/src/credentials.ts packages/oci/src/registry.ts

signIn() sets Authorization via .defaults(); uploadBlob() PUTs to uploadLocation.href (which may be an absolute cross-host URL) with no host check; the GHSA-pf56 fix commit is the latest change to credentials.ts, while registry.ts has only dependency bumps since.

Note: The section describes static code analysis commands run against the repository source, with no specific runtime environment stated.

CVSS Base Scores

version 4.0
version 3.1