Skip to content

fix(docker): bump wolfi-base digest for glibc 2.43-r10 - #32277

Merged
yuneng-berri merged 2 commits into
litellm_internal_stagingfrom
litellm_/elated-noyce-6fc150
Jul 6, 2026
Merged

fix(docker): bump wolfi-base digest for glibc 2.43-r10#32277
yuneng-berri merged 2 commits into
litellm_internal_stagingfrom
litellm_/elated-noyce-6fc150

Conversation

@yuneng-berri

Copy link
Copy Markdown
Collaborator

Relevant issues

Linear ticket

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have added meaningful tests (covered by the existing image-scan workflow, which rebuilds docker/Dockerfile.non_root and runs grype on every change to that path; a base-image digest bump has no sensible unit test)
  • My PR passes all CI/CD checks (the image-scan gate was reproduced locally and is green; see Proof of Fix. Full CI will confirm)
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have requested a Greptile review by commenting @greptileai and received a Confidence Score of at least 4/5 before requesting a maintainer review

Delays in PR merge?

If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).

Screenshots / Proof of Fix

The finding, the fix, and the digest authenticity, using the same tools a consumer of the image would run.

Digest authenticity (Chainguard sigstore signature bound to the exact digest):

$ cosign verify \
    --certificate-oidc-issuer=https://token.actions.githubusercontent.com \
    --certificate-identity=https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main \
    cgr.dev/chainguard/wolfi-base@sha256:42df77a9974d6ec8b17a5ee8bc23b532600a44d705acef2409e0933c1251b45f

Verification for cgr.dev/chainguard/wolfi-base@sha256:42df77a9... --
  - The cosign claims were validated
  - Existence of the claims in the transparency log was verified offline
  - The code-signing certificate was verified using trusted certificate authority certificates
  Subject: https://github.com/chainguard-images/images/.github/workflows/release.yaml@refs/heads/main

Before, on the old digest (c61ac6...), the image-scan gate reports a fixable glibc finding:

$ docker run --rm --entrypoint sh <old-image> -c "apk info -v | grep '^glibc-2'"
glibc-2.43-r8

$ grype <old-image> --only-fixed --fail-on high
NAME       INSTALLED  FIXED IN  TYPE  VULNERABILITY  SEVERITY
glibc      2.43-r8    2.43-r10  apk   CVE-2026-6791  Unknown
ld-linux   2.43-r8    2.43-r10  apk   CVE-2026-6791  Unknown
libcrypt1  2.43-r8    2.43-r10  apk   CVE-2026-6791  Unknown
...

After, on the new digest (42df77a9...):

$ docker run --rm --entrypoint sh <new-image> -c "apk info -v | grep '^glibc-2'"
glibc-2.43-r10

$ grype <new-image> --only-fixed --fail-on high
No vulnerabilities found

The image builds cleanly through litellm==1.92.0 and prisma generate, so the base swap does not break the runtime. Scans were run locally on linux/arm64 with grype 0.114.0 (the CI-pinned version) against a same-day vulnerability DB; Wolfi ships identical package revisions per arch, so the OS-layer result carries to the linux/amd64 CI image.

Type

🐛 Bug Fix

Changes

Refresh the pinned cgr.dev/chainguard/wolfi-base digest from c61ac6... to 42df77a9..., the current wolfi-base:latest. Both are multi-arch index digests covering linux/amd64 and linux/arm64, so the swap preserves multi-arch builds.

The delta between the two base images is small and revision-only: the glibc family (glibc, glibc-locale-posix, ld-linux, libcrypt1) moves from 2.43-r8 to 2.43-r10, libcrypto3 and libssl3 from 3.6.3-r2 to r3, and libgcc from 16.1.0-r2 to r4. No packages are added or removed.

glibc r10 is what clears the one fixable finding the image scan reports, CVE-2026-6791. The glibc subpackages are exact-version pinned to each other, so the apk upgrade inside the Dockerfile cannot advance them past the revision baked into the base; the digest bump is the mechanism that moves glibc. This mirrors the earlier openssl refresh in #31133 and touches the same six Dockerfiles that pin the base

Refresh the pinned cgr.dev/chainguard/wolfi-base digest from c61ac6 to
42df77a9 (current wolfi-base:latest, a multi-arch index covering amd64
and arm64). This advances the glibc family from 2.43-r8 to 2.43-r10,
with libcrypto3 and libssl3 from 3.6.3-r2 to r3 and libgcc from
16.1.0-r2 to r4; no packages are added or removed.

The image scan reports CVE-2026-6791 against glibc 2.43-r8 (fixed in
r10). The glibc subpackages are exact-version pinned, so the
in-Dockerfile apk upgrade cannot advance them past the base's baked
revision, which is why refreshing the digest is required. Same six
Dockerfiles as #31133
@greptile-apps

greptile-apps Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the pinned cgr.dev/chainguard/wolfi-base digest from c61ac6... to 42df77a9... across all six Dockerfiles that reference it. The change is a revision-only base image refresh with no structural modifications to any Dockerfile.

  • All six Dockerfiles (Dockerfile, backend/Dockerfile, docker/Dockerfile.database, docker/Dockerfile.non_root, gateway/Dockerfile, migrations/Dockerfile) are updated consistently with the same new digest for both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE.
  • The PR includes cosign signature verification of the new digest and before/after image scan output demonstrating the fix, satisfying the evidence requirement for security fix PRs.

Confidence Score: 5/5

Safe to merge — the change is a mechanical digest swap across all six Dockerfiles with no logic or configuration altered.

Every Dockerfile that pins the wolfi-base digest has been updated to the same new value for both the build and runtime stages. The new digest has been cosign-verified against Chainguard's release workflow, and the PR provides scan output confirming the OS-layer improvement. No code, dependencies, or runtime behaviour is touched.

No files require special attention.

Important Files Changed

Filename Overview
Dockerfile Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated from c61ac6... to 42df77a9... consistently
backend/Dockerfile Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated consistently
docker/Dockerfile.database Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated consistently
docker/Dockerfile.non_root Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated consistently
gateway/Dockerfile Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated consistently
migrations/Dockerfile Both LITELLM_BUILD_IMAGE and LITELLM_RUNTIME_IMAGE digests updated consistently

Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'origin/lit..." | Re-trigger Greptile

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@yuneng-berri
yuneng-berri merged commit 7f99148 into litellm_internal_staging Jul 6, 2026
124 checks passed
@yuneng-berri
yuneng-berri deleted the litellm_/elated-noyce-6fc150 branch July 6, 2026 21:30
yuneng-berri added a commit that referenced this pull request Jul 8, 2026
stvnksslr pushed a commit to stvnksslr/litellm that referenced this pull request Jul 14, 2026
…fc150

fix(docker): bump wolfi-base digest for glibc 2.43-r10

(cherry picked from commit 7f99148)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants