fix(be): Sectigo R46 CA remediation - #2399
Conversation
There was a problem hiding this comment.
Pull request overview
Implements the Sectigo R46 CA remediation for the backend build by checking in the public root CA certificate and updating the backend container build to import it deterministically (no build-arg PEM passing and no crt.sh network fetch).
Changes:
- Added the Sectigo Public Server Authentication Root R46 certificate PEM plus a companion metadata/rotation note markdown file under
backend/certs/. - Updated
backend/Dockerfileto validate/verify the certificate (including pinned SHA-256 fingerprint) before importing it intocacertsduring the build stage. - Updated GitHub Actions workflows to stop passing
SECTIGO_R46_PEMthrough Docker build args.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| backend/Dockerfile | Switches to checked-in cert import with parsing + pinned fingerprint verification during build. |
| backend/certs/sectigo-r46-root.pem | Adds the public Sectigo R46 root CA certificate PEM. |
| backend/certs/sectigo-r46-root.md | Documents certificate provenance, fingerprint, and rotation guidance. |
| .github/workflows/pr-open.yml | Removes backend-only build step that passed SECTIGO_R46_PEM as a build arg. |
| .github/workflows/.tools-deploy.yml | Removes SECTIGO_R46_PEM build-arg usage from backend tools deployment build. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
Work of art. Just make sure that any other Docker images we have here are not using the cert, and if they are, evaluate whether it still makes sense for them to keep the cert and, if so, apply the same fixes, please. |
|
Summary
Implements a Sectigo R46 CA remediation by moving the backend container build to a checked-in, reviewed public CA certificate instead of passing PEM contents through Docker build arguments or relying on
crt.shat build time.Changes
backend/certs/sectigo-r46-root.pem.backend/certs/sectigo-r46-root.md.backend/Dockerfileto:keytoolsectigo-r46-rootcrt.shnetwork fallbackSECTIGO_R46_PEMthrough--build-arg.Security / Build Impact
crt.shavailability.7B:B6:47:A6:2A:EE:AC:88:BF:25:7A:A5:22:D0:1F:FE:A3:95:E0:AB:45:C7:3F:93:F6:56:54:EC:38:F2:5A:06Validation
CN=Sectigo Public Server Authentication Root R46, O=Sectigo Limited, C=GBCN=Sectigo Public Server Authentication Root R46, O=Sectigo Limited, C=GB75:8D:FD:8B:AE:7C:07:00:FA:A9:25:A7:E1:C7:AD:142021-03-22through2046-03-21SECTIGO_R46_PEMorcrt.shremains in the normal build path.Thanks for the PR!
Deployments, as required, will be available below:
Any successful deployments (not always required) will be available here
Please create PRs in draft mode. Mark as ready to enable:
After merge, new images are deployed in: