Skip to content

fix(security): upgrade libgcrypt20 to patch CVE-2026-41989#116

Merged
schubydoo merged 1 commit into
masterfrom
fix/libgcrypt-cve-2026-41989
Jun 1, 2026
Merged

fix(security): upgrade libgcrypt20 to patch CVE-2026-41989#116
schubydoo merged 1 commit into
masterfrom
fix/libgcrypt-cve-2026-41989

Conversation

@schubydoo
Copy link
Copy Markdown
Owner

What

Adds libgcrypt20 to the existing --only-upgrade apt line in the slim stage so the image picks up the bookworm-security fix for CVE-2026-41989.

Why

The pinned python:3.14-slim-bookworm base ships libgcrypt20 1.10.1-3, which Trivy flags for CVE-2026-41989 — a heap-based buffer overflow / DoS via crafted ECDH ciphertext to gcry_pk_decrypt. bookworm-security carries the patch as 1.10.1-3+deb12u1 (DSA-6294-1), but the base image lags the security archive.

This mirrors the libgnutls30 pattern already in place: no exact version pin, so --only-upgrade always moves forward and becomes a harmless no-op once the base catches up (no downgrade-induced build failures).

Scope — what this does not fix

This closes 1 of 8 open code-scanning alerts. The other 7 are transitive Go dependencies of the bundled syft binary:

CVE Component Sev
CVE-2026-44973 go-billy high
CVE-2026-46680 containerd high
CVE-2026-45022 go-git high
CVE-2026-44740 go-billy med
CVE-2026-45571 go-git med
GHSA-w5pp-99ch-qj29 go-git med
CVE-2026-45570 go-git low

Their fixes (go-billy 5.9.0, go-git 5.19.1, containerd 2.3.1) are already merged on syft's main but unreleasedv1.44.0, the latest tag, still pins the vulnerable versions. Because we build via go install github.com/anchore/syft/cmd/syft@${SYFT_VERSION}, we can't override transitive deps; they resolve automatically once syft cuts a release >v1.44.0. Renovate already auto-tracks SYFT_VERSION, so no manual action is needed there.

🤖 Generated with Claude Code

@schubydoo schubydoo force-pushed the fix/libgcrypt-cve-2026-41989 branch from 732b0b4 to 8490996 Compare June 1, 2026 03:48
The pinned python:3.14-slim-bookworm base ships libgcrypt20 1.10.1-3,
which Trivy flags for CVE-2026-41989 (heap overflow / DoS via crafted
ECDH ciphertext to gcry_pk_decrypt). bookworm-security carries the fix
as 1.10.1-3+deb12u1 (DSA-6294-1).

Add libgcrypt20 to the existing `--only-upgrade` apt line in the slim
stage, mirroring the libgnutls30 pattern: no exact pin, so it always
moves forward and becomes a harmless no-op once the base catches up.

The remaining 7 open code-scanning alerts are transitive Go deps of the
bundled syft binary (go-git, go-billy, containerd). Their fixes are
merged on syft's main but unreleased — v1.44.0, the latest tag, still
pins the vulnerable versions. We build via `go install ...@vX.Y.Z`, so
we can't override transitive deps; they resolve once syft cuts a release
>v1.44.0 (Renovate already auto-tracks SYFT_VERSION).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@schubydoo schubydoo force-pushed the fix/libgcrypt-cve-2026-41989 branch from 8490996 to 9b7fa0a Compare June 1, 2026 04:03
@schubydoo schubydoo enabled auto-merge (squash) June 1, 2026 04:04
@schubydoo schubydoo merged commit 3b00414 into master Jun 1, 2026
18 checks passed
@schubydoo schubydoo deleted the fix/libgcrypt-cve-2026-41989 branch June 1, 2026 04:06
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.

1 participant