Skip to content

build: keep test certificate fixtures out of the images (backport #979 to 0.9.x) - #980

Merged
EliMoshkovich merged 1 commit into
release/0.9.xfrom
eli/per-17672-backport-979-0.9.x
Oct 23, 2026
Merged

EliMoshkovich merged 1 commit into
release/0.9.xfrom
eli/per-17672-backport-979-0.9.x

Conversation

@EliMoshkovich

Copy link
Copy Markdown
Contributor

Fixes Issue

Backport of #979 to release/0.9.x, so 0.9.10 doesn't ship the trust-store test's certificate fixture.

#978 added packages/**/tests/*.pem to .dockerignore, but CI and the release build from a Git context, where BuildKit doesn't apply .dockerignore. So 0.9.10-rc.2 still carries opal_common/tests/emudhra_compromised_cas.pem in every client and server image. Nothing trusts it, but a search of the image's files for the compromised eMudhra certificates (CVE-2026-111943) reports it.

Changes proposed

git cherry-pick -x of #979 (27e4852). The only conflict was the comment above #978's .dockerignore rule, which now takes #979's wording.

  • docker/Dockerfile: COPY --exclude=**/tests/*.pem ./packages ./packages/ in the common and common-alpine stages, with # syntax=docker/dockerfile:1.19 pinned by digest as the first line.
  • .dockerignore: the same rule for local builds, with the corrected comment.
  • tests.yml: both E2E jobs fail if any *.pem is under /opal/packages in the client or server image.

Verification

The same change on master (#979) passed CI there. It was also checked with Git-context builds, as CI does: no .pem in any of the four images, with the published 0.9.10-rc.2 images as the control that still has the fixture. This PR's CI runs the same image check on this branch.

Check List (Check all the applicable boxes)

  • I sign off on contributing this submission to open-source
  • My code follows the code style of this project.
  • My change requires changes to the documentation.
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • This PR does not contain plagiarized content.
  • The title of my pull request is a short description of the requested changes.

🤖 Generated with Claude Code

The trust-store test's fixture holds the compromised eMudhra certificates (CVE-2026-111943). COPY ./packages put it in every client and server image, where a search of the image's files for those certificates reports it, although nothing trusts it. CI and the release build from a Git context, where BuildKit ignores .dockerignore, so docker/Dockerfile now uses COPY --exclude=**/tests/*.pem (dockerfile frontend 1.19, pinned by digest), .dockerignore keeps the same rule for local builds, and both E2E jobs fail if any .pem is under /opal/packages in the images.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 27e4852)
@EliMoshkovich
EliMoshkovich requested review from zeevmoney and a balanced review from Copilot October 23, 2026 16:18
@linear-code

linear-code Bot commented Oct 23, 2026

Copy link
Copy Markdown

PER-17672

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

@EliMoshkovich
EliMoshkovich merged commit eaa8d3c into release/0.9.x Oct 23, 2026
12 of 13 checks passed
@EliMoshkovich
EliMoshkovich deleted the eli/per-17672-backport-979-0.9.x branch October 23, 2026 18:53
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.

3 participants