sigstore-oci

Ecosystem: npm

Downloads:

Vulnerabilities from the last (months)
  • 1CriticalAffects 1 version
  • 1HighAffects 1 version
  • 0MediumAffects 0 versions
  • 0ModerateAffects 0 versions
  • 0LowAffects 0 versions
Severity distribution (all time)
2vulnerabilities
  • Critical1 (50.0%)
  • High1 (50.0%)
  • Medium0 (0.0%)
  • Moderate0 (0.0%)
  • Low0 (0.0%)

Monthly breakdown

  • Critical
  • High
  • Medium
  • Moderate
  • Low
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 1
    • High: 0
    • Medium: 0
    • Moderate: 0
    • Low: 0

Vulnerabilities (2)

Known vulnerabilities affecting sigstore-oci, based on data from OSV.

Vulnerabilities affecting sigstore-oci
IDSeveritySummaryAffected versionsPublishedSource
GHSA-j63v-mwhm-56jxHigh@sigstore/oci sends the registry Authorization header to a cross-host blob-upload Location### Summary @sigstore/oci sends the registry Authorization header to a cross-host blob-upload Location ## Affected versions and vulnerable location - Confirmed on sigstore-js at `3a83271` (current HEAD). - File: `packages/oci/src/registry.ts`. - `signIn()` installs the credential as a DEFAULT header on the shared client: `this.#fetch = this.#fetch.defaults({ headers: { [HEADER_AUTHORIZATION]: 'Basic ' + basicAuth } })` (`:126-128`) or `... 'Bearer ' + token` (`:145-147`), plus `creds.headers` from the Docker config (`:104`). - `uploadBlob()` reads the `Location` response header (`:184`)
  • < 0.7.2
GitHub (opens in a new tab)
GHSA-pf56-329r-95rwCriticalCredential confusion in @sigstore/oci can leak registry credentials to an attacker-controlled registry### Impact This is a credential-exposure / credential-confusion issue. `getRegistryCredentials()` reads credentials from the Docker config file (`~/.docker/config.json`) and selects an entry by checking whether any configured auth key **contains** the target registry string: ```js Object.keys(dockerConfig.auths || {}).find((key) => key.includes(registry)) ``` 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 config
  • < 0.7.1
GitHub (opens in a new tab)
  • GHSA-j63v-mwhm-56jxHigh
    @sigstore/oci sends the registry Authorization header to a cross-host blob-upload Location
    • < 0.7.2

    ### Summary @sigstore/oci sends the registry Authorization header to a cross-host blob-upload Location ## Affected versions and vulnerable location - Confirmed on sigstore-js at `3a83271` (current HEAD). - File: `packages/oci/src/registry.ts`. - `signIn()` installs the credential as a DEFAULT header on the shared client: `this.#fetch = this.#fetch.defaults({ headers: { [HEADER_AUTHORIZATION]: 'Basic ' + basicAuth } })` (`:126-128`) or `... 'Bearer ' + token` (`:145-147`), plus `creds.headers` from the Docker config (`:104`). - `uploadBlob()` reads the `Location` response header (`:184`)

    CVE: CVE-2026-118763

  • GHSA-pf56-329r-95rwCritical
    Credential confusion in @sigstore/oci can leak registry credentials to an attacker-controlled registry
    • < 0.7.1

    ### Impact This is a credential-exposure / credential-confusion issue. `getRegistryCredentials()` reads credentials from the Docker config file (`~/.docker/config.json`) and selects an entry by checking whether any configured auth key **contains** the target registry string: ```js Object.keys(dockerConfig.auths || {}).find((key) => key.includes(registry)) ``` 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 config

    CVE: CVE-2026-59891

Showing 1-2 of 2 vulnerabilities