Skip to content

fix: remove pebble from image to eliminate Go 1.26.2 stdlib CVEs#36

Merged
adamdaw merged 2 commits into
masterfrom
fix/pebble-trivy-cves
May 13, 2026
Merged

fix: remove pebble from image to eliminate Go 1.26.2 stdlib CVEs#36
adamdaw merged 2 commits into
masterfrom
fix/pebble-trivy-cves

Conversation

@adamdaw
Copy link
Copy Markdown
Owner

@adamdaw adamdaw commented May 13, 2026

Summary

Removes pebble from the Docker image to eliminate five Go 1.26.2 stdlib CVEs detected by Trivy. Unblocks Dependabot PRs #34 and #35.

Motivation

Five HIGH-severity CVEs in Go stdlib (fixed in Go 1.26.3) were published this week. Trivy now detects them via usr/bin/pebble — Canonical's container init system shipped in ubuntu:26.04 — causing the Trivy step to fail on every CI run, including the open Dependabot PRs.

Pebble is not used in this image (CMD is make all). Removing it eliminates the vulnerability surface entirely rather than suppressing CVEs in .trivyignore.

CVEs resolved: CVE-2026-33811, CVE-2026-33814, CVE-2026-39820, CVE-2026-39836, CVE-2026-42499.

Changes

  • Dockerfile: add RUN apt-get remove -y --purge pebble layer immediately after the apt-retry setup, before any other apt installs

Test plan

  • make validate passes locally
  • make build produces a valid PDF
  • make all completes without error
  • pre-commit run --all-files passes
  • Docker build passes (make docker-run)
  • CI passes (link to run): pending

Notes for reviewers

After this merges, comment @dependabot rebase on PRs #34 and #35 to rebase them on the fixed master. Both PRs only bump GitHub Actions versions and will be clean once the Trivy step passes.

adamdaw added 2 commits May 12, 2026 20:13
pebble (Canonical's container init system) is shipped in ubuntu:26.04
but is not used here — CMD is make all. Five newly-published HIGH CVEs
in Go 1.26.2 stdlib (DNS, HTTP/2, email parsing; fixed in Go 1.26.3)
are carried into the image solely via this binary.

Removing pebble eliminates the vulnerability surface rather than
suppressing it in .trivyignore.
apt-get remove fails with 'Unable to locate package pebble' because
ubuntu:26.04 ships the pebble binary directly into the image layer
rather than installing it via apt. Switch to a direct rm -f.
@adamdaw adamdaw merged commit f56b2d6 into master May 13, 2026
8 checks passed
@adamdaw adamdaw deleted the fix/pebble-trivy-cves branch May 13, 2026 00:36
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