Skip to content
QuenchWorks

dotnet-runtime 8.0.127

Runtime · Runtime base · standard · v8.0.127

F 8nonrootcosign signedSPDX SBOMSLSA provenanceamd64 · arm64

Hardened .NET runtime for console and worker apps, no SDK. Build on the dotnet image, then run here. Lines 8/9/10.

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
56.9 MB
Last rebuilt
2026-07-15

Security report (Trivy)

F· 0/1008 fixable · rebuild clears them

Vulnerability detail

dotnet-runtime 8.0.127 · 8 CVE
CVESeverityPackageInstalledFixed inTitle
CVE-2026-47304CRITICALdotnet-88.0.127-r08.0.129-r1dotnet: .NET Security Feature Bypass Vulnerability
CVE-2026-47304CRITICALdotnet-8-runtime8.0.127-r08.0.129-r1dotnet: .NET Security Feature Bypass Vulnerability
CVE-2026-47302HIGHdotnet-88.0.127-r08.0.129-r1dotnet: .NET: Denial of Service vulnerability due to uncontrolled resource allocation
CVE-2026-47302HIGHdotnet-8-runtime8.0.127-r08.0.129-r1dotnet: .NET: Denial of Service vulnerability due to uncontrolled resource allocation
CVE-2026-50525HIGHdotnet-88.0.127-r08.0.129-r1dotnet: .NET: Denial of Service due to uncontrolled resource allocation
CVE-2026-50525HIGHdotnet-8-runtime8.0.127-r08.0.129-r1dotnet: .NET: Denial of Service due to uncontrolled resource allocation
CVE-2026-50648HIGHdotnet-88.0.127-r08.0.129-r1dotnet: .NET Framework: Remote Denial of Service due to uncontrolled resource allocation
CVE-2026-50648HIGHdotnet-8-runtime8.0.127-r08.0.129-r1dotnet: .NET Framework: Remote Denial of Service due to uncontrolled resource allocation
2
Critical
6
High
0
Medium
0
Low
0
Unknown

Security report (Trivy) · dotnet-runtime 8.0.127

Published versions

3 tags

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

VersionSizePublishedDigest
10.0.110latest61.1 MB2026-07-15sha256:2b76fa8aa868…
9.0.11960.1 MB2026-07-21sha256:dca9d090e85b…
8.0.12756.9 MB2026-07-15sha256:4037bc156569…

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/dotnet-runtime:8.0.127

Or pull it directly

docker pull ghcr.io/quenchworks/images/dotnet-runtime:8.0.127
Version line
8.0.127
Latest line
9.0.119, 10.0.110, 8.0.127
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
License
MIT

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/dotnet-runtime:8.0.127 \
  --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/dotnet-runtime:8.0.127 \
  --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/dotnet-runtime:8.0.127 \
  --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 8.0.127

dotnet-runtime is a runtime base you copy a published console or worker app onto, not something you build in. Here dotnet publish runs in an SDK build stage and the dotnet-runtime image is the final stage that runs it.

ghcr.io/quenchworks/images/dotnet-runtime:8.0.12756.9 MBrebuilt 15 days ago
# Build stage: restore and publish the worker/console app with the SDK.
FROM ghcr.io/quenchworks/images/dotnet:10.0.110 AS build
USER root
WORKDIR /src
ENV NUGET_PACKAGES=/tmp/nuget \
DOTNET_CLI_TELEMETRY_OPTOUT=1
COPY ["Worker.csproj", "./"]
RUN ["dotnet", "restore", "Worker.csproj"]
COPY . .
RUN ["dotnet", "publish", "Worker.csproj", "-c", "Release", "-o", "/app/publish", "--no-restore"]
# This image is the final runtime stage: the plain .NET runtime, nonroot.
FROM ghcr.io/quenchworks/images/dotnet-runtime:8.0.127 AS runtime
WORKDIR /app
COPY --from=build /app/publish ./
USER 1001
ENTRYPOINT ["dotnet", "Worker.dll"]

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

Upstream project: https://github.com/dotnet/runtime