Skip to content
QuenchWorks

yarn 3.8.7

Runtime · Build tool · standard · v3.8.7

D 4nonrootcosign signedSPDX SBOMSLSA provenanceamd64 · arm64

Node base image with Yarn preinstalled, used as the build stage for Yarn projects. Lines 1 (classic) and 4 (berry).

Version line

The latest line lives at the base page; older lines have their own page so you can pin and verify exactly that version.

Signed
cosign keyless
SBOM
SPDX, on digest
Provenance
SLSA build
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Image size
53.2 MB
Last rebuilt
2026-07-04

Security report (Trivy)

D· 61/1004 fixable · rebuild clears them

Vulnerability detail

yarn 3.8.7 · 4 CVE
CVESeverityPackageInstalledFixed inTitle
CVE-2026-58043HIGHnodejs-2222.23.1-r122.23.2-r0nodejs: Node.js: Unauthorized filesystem access due to Permission Model enforcement flaw
CVE-2026-56850MEDIUMnodejs-2222.23.1-r122.23.2-r0nodejs: Node.js: mTLS client identities can be reused due to HTTPS Agent connection flaw
CVE-2026-58055MEDIUMlibnghttp2-141.69.0-r01.70.0-r0nghttp2: nghttp2: HTTP Request/Response Smuggling and Response-Queue Poisoning via ambiguous HTTP/1.1 Upgrade requests
CVE-2026-56847LOWnodejs-2222.23.1-r122.23.2-r0A flaw in Node.js Permission Model enforcement allows `trace_events.cr ...
0
Critical
1
High
2
Medium
1
Low
0
Unknown

Security report (Trivy) · yarn 3.8.7

Published versions

3 tags

Each tag is a multi-arch index (amd64 + arm64) pinned by digest. Tagged by version, never :latest.

VersionSizePublishedDigest
4.17.0latest53.4 MB2026-07-04sha256:6418767b94ab…
3.8.753.2 MB2026-07-04sha256:8bc7879fce7e…
1.22.2253.5 MB2026-07-04sha256:7df831896c44…

Use it as a base image

Reference it in the FROM line of your Dockerfile. Nonroot, read-only root filesystem, built for amd64 and arm64.

FROM ghcr.io/quenchworks/images/yarn:3.8.7

Or pull it directly

docker pull ghcr.io/quenchworks/images/yarn:3.8.7
Version line
3.8.7
Latest line
4.17.0, 3.8.7, 1.22.22
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
License
BSD-2-Clause

Verify the supply chain

This image is cosign-signed and carries an SPDX SBOM and a SLSA build-provenance attestation on the same digest. Check all three before you build on it:

# 1. signature — built and signed by QuenchWorks CI
cosign verify ghcr.io/quenchworks/images/yarn:3.8.7 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 2. SLSA build provenance — which workflow built it, from what
cosign verify-attestation --type https://slsa.dev/provenance/v1 ghcr.io/quenchworks/images/yarn:3.8.7 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 3. SPDX SBOM — the package inventory
cosign verify-attestation --type https://spdx.dev/Document/v2.3 ghcr.io/quenchworks/images/yarn:3.8.7 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

See the SBOM & provenance guide for reading the SBOM and using these checks in CI.

Best-practice Dockerfile for 3.8.7

Yarn Classic leads: preinstalled on the yarn base, it installs the production-only dependency set and builds, then a clean node base receives only the prod node_modules and the built output.

ghcr.io/quenchworks/images/yarn:3.8.753.2 MBrebuilt 35 days ago
# Build stage: Yarn (Classic) installs the full set and builds.
FROM ghcr.io/quenchworks/images/yarn:3.8.7 AS build
USER root
WORKDIR /app
ENV YARN_CACHE_FOLDER=/tmp/yarn
COPY package.json yarn.lock ./
RUN ["yarn", "install", "--frozen-lockfile"]
COPY . .
RUN ["yarn", "build"]
# Prod-deps stage: a clean install of production dependencies only.
FROM ghcr.io/quenchworks/images/yarn:3.8.7 AS prod-deps
USER root
WORKDIR /app
ENV YARN_CACHE_FOLDER=/tmp/yarn
COPY package.json yarn.lock ./
RUN ["yarn", "install", "--frozen-lockfile", "--production"]
# Runtime stage: prod node_modules + built dist on a slim node base, nonroot.
FROM ghcr.io/quenchworks/images/node:26.5.1 AS runtime
WORKDIR /app
ENV NODE_ENV=production
COPY --from=prod-deps /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
COPY --from=build /app/package.json ./package.json
USER 1001
EXPOSE 3000
CMD ["node", "dist/server.js"]

This Dockerfile is pinned to the 3.8.7 line. For the line-by-line walkthrough and ecosystem variants (npm/Yarn, pip/uv/Poetry, Maven/Gradle), see the Build a Node appguide.

Upstream project: https://yarnpkg.com