Skip to main content

sigstore-js CVE-2026-59891

| EUVDEUVD-2026-43960 CRITICAL
Insufficiently Protected Credentials (CWE-522)
2026-07-14 GitHub_M GHSA-pf56-329r-95rw
9.6
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
9.6 CRITICAL
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
vuln.today AI
5.3 MEDIUM

Network-delivered but needs a substring-colliding configured credential and victim action (AC:H, UI:R); primary impact is credential confidentiality only (C:H, I:N/A:N), no scope change on the vulnerable system.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

4
Patch available
Jul 14, 2026 - 23:21 EUVD
Source Code Evidence Fetched
Jul 14, 2026 - 17:32 vuln.today
Analysis Generated
Jul 14, 2026 - 17:32 vuln.today
CVE Published
Jul 14, 2026 - 16:54 cve.org
CRITICAL 9.6

DescriptionCVE.org

sigstore-js provides JavaScript libraries for interacting with Sigstore services. Prior to 0.7.1, getRegistryCredentials() reads credentials from the Docker config file and selects an entry by checking whether any configured auth key contains the target registry string. 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 configured auth key. This issue is fixed in version 0.7.1.

AnalysisAI

Credential leakage in sigstore-js (specifically the @sigstore/oci package) before 0.7.1 allows Docker registry credentials to be transmitted to the wrong registry because getRegistryCredentials() matched configured auth keys against the target registry using a substring check instead of an exact host match. An attacker who can induce a victim to push or pull signatures/attestations against an attacker-named registry whose hostname has a substring relationship with a legitimately configured registry (e.g. 'cr.io' vs 'ghcr.io', or 'victim.127.0.0.1:5000' vs '127.0.0.1:5000') can capture the victim's stored registry credentials. There is no public exploit identified at time of analysis, and this is not listed in CISA KEV; the underlying weakness (CWE-522) is confirmed and fixed by the vendor in @sigstore/oci 0.7.1.

Technical ContextAI

The affected component is @sigstore/oci, part of the sigstore-js JavaScript libraries used to interact with Sigstore services and to push/pull signing artifacts to and from OCI (Open Container Initiative) registries. To authenticate to a registry, getRegistryCredentials() reads the local Docker config file (~/.docker/config.json) and picks an 'auths' entry. The root cause (CWE-522, Insufficiently Protected Credentials) is that credential selection used a substring/containment test: any configured auth key that merely contained the target registry string was treated as a match. Because registry hostnames frequently share substrings ('cr.io' is contained in 'ghcr.io'; a configured host can also be a substring of an attacker-chosen host like 'victim.127.0.0.1:5000'), the wrong credentials could be selected and sent over the network to an unintended registry. The fix replaces this with canonical exact host[:port] matching, adds a canonicalizeRegistry() helper that strips scheme/path, and normalizes Docker Hub aliases (docker.io, index.docker.io, registry-1.docker.io, https://index.docker.io/v1/) to a single canonical host. The only CPE provided is cpe:2.3:a:sigstore:sigstore-js:*:*:*:*:*:*:*:*.

RemediationAI

Vendor-released patch: upgrade @sigstore/oci to 0.7.1 or later, which replaces the substring credential match with exact canonical host[:port] matching; update your lockfiles and rebuild any tooling that pulls sigstore-js transitively. See the advisory GHSA-pf56-329r-95rw and the release at https://github.com/sigstore/sigstore-js/releases/tag/@sigstore/oci@0.7.1. If you cannot upgrade immediately, reduce exposure by ensuring the Docker config used by sigstore-js only contains credentials for registries you actually push/pull to, and remove or scope down any broadly-privileged registry tokens so a mis-selected credential is low-value; where feasible, run signing operations with a dedicated, minimal ~/.docker/config.json (or an isolated DOCKER_CONFIG directory) containing only the single registry credential needed for that job, and avoid pointing sigstore-js operations at untrusted or attacker-supplied registry hostnames. The trade-off of the isolated-config approach is added operational overhead per pipeline and the need to manage separate credential stores; it does not fully eliminate the substring flaw but shrinks the blast radius until 0.7.1 is deployed.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

Share

CVE-2026-59891 vulnerability details – vuln.today

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