Skip to content

Commit 62de73a

Browse files
anth-volkclaude
andcommitted
Stop trusting the compromised eMudhra CA certificates
The private keys of eight eMudhra (emSign) intermediate CA certificates can be recovered from the public certificates, so anyone can issue a certificate for any domain chaining to "emSign ECC Root CA - G3" or, through Sectigo's cross-signatures, to "AAA Certificate Services". - Upgrade certifi from 2026.4.22 to 2026.10.19 in uv.lock (httpx). - Install ca-certificates in the Cloud Run image so the build always takes Debian's current CA store, and set GRPC_DEFAULT_SSL_ROOTS_FILE_PATH to that bundle so gRPC clients stop using the CA list bundled in grpcio, which has no fixed release. - Raise uv from 0.12.1 to 0.13.4 in the Cloud Run image, the versioning job and the collector deploy workflow. - Raise the observability collector image from otelcol-google 0.160.0 to 0.163.1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 392e653 commit 62de73a

7 files changed

Lines changed: 14 additions & 12 deletions

File tree

‎.github/workflows/deploy-observability-collector.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- name: Checkout repository
4141
uses: actions/checkout@v4
4242
- name: Validate collector configuration
43-
run: docker run --rm --env OBSERVABILITY_PROJECT_ID="${OBSERVABILITY_PROJECT_ID}" --env OBSERVABILITY_METRIC_LOCATION="${OBSERVABILITY_METRIC_LOCATION}" --volume "${PWD}/gcp/observability/collector/config.yaml:/etc/otelcol-google/config.yaml:ro" us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.160.0 validate --config=/etc/otelcol-google/config.yaml
43+
run: docker run --rm --env OBSERVABILITY_PROJECT_ID="${OBSERVABILITY_PROJECT_ID}" --env OBSERVABILITY_METRIC_LOCATION="${OBSERVABILITY_METRIC_LOCATION}" --volume "${PWD}/gcp/observability/collector/config.yaml:/etc/otelcol-google/config.yaml:ro" us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.163.1 validate --config=/etc/otelcol-google/config.yaml
4444
- name: Authenticate to Google Cloud
4545
uses: google-github-actions/auth@v2
4646
with:
@@ -51,7 +51,7 @@ jobs:
5151
- name: Set up uv
5252
uses: astral-sh/setup-uv@v6
5353
with:
54-
version: "0.12.1"
54+
version: "0.13.4"
5555
- name: Build and deploy collector
5656
id: collector
5757
run: bash .github/scripts/deploy_observability_collector.sh

‎.github/workflows/push.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ jobs:
114114
- name: Setup uv
115115
uses: astral-sh/setup-uv@v6
116116
with:
117-
version: "0.12.1"
117+
version: "0.13.4"
118118
- name: Install changelog tool
119119
run: pip install towncrier
120120
- name: Bump project version
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Stop trusting the compromised eMudhra (emSign) intermediate certificate authorities: upgrade certifi to 2026.10.19, refresh the Cloud Run image's operating-system CA bundle and point gRPC clients at it instead of the CA list bundled in grpcio, and raise uv to 0.13.4 and the observability collector image to 0.163.1.

‎gcp/cloud_run/Dockerfile‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
FROM python:3.12-slim
22

3-
COPY --from=ghcr.io/astral-sh/uv:0.12.1 /uv /uvx /bin/
3+
COPY --from=ghcr.io/astral-sh/uv:0.13.4 /uv /uvx /bin/
44

55
RUN apt-get update \
6-
&& apt-get install -y --no-install-recommends build-essential \
6+
&& apt-get install -y --no-install-recommends build-essential ca-certificates \
77
&& rm -rf /var/lib/apt/lists/*
88

99
ENV PYTHONDONTWRITEBYTECODE=1 \
1010
PYTHONUNBUFFERED=1 \
1111
UV_PROJECT_ENVIRONMENT=/opt/venv \
12-
PATH="/opt/venv/bin:${PATH}"
12+
PATH="/opt/venv/bin:${PATH}" \
13+
GRPC_DEFAULT_SSL_ROOTS_FILE_PATH=/etc/ssl/certs/ca-certificates.crt
1314

1415
WORKDIR /app
1516

‎gcp/observability/collector/Dockerfile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.160.0
1+
FROM us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.163.1
22

33
COPY config.yaml /etc/otelcol-google/config.yaml
44

‎tests/unit/test_alembic_workflows.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def test_versioning_refreshes_the_lock_after_bumping_the_project_version():
131131
changelog_target = makefile[makefile.index("changelog:") :]
132132

133133
assert "uses: astral-sh/setup-uv@v6" in versioning_job
134-
assert 'version: "0.12.1"' in versioning_job
134+
assert 'version: "0.13.4"' in versioning_job
135135
assert versioning_job.index("python .github/bump_version.py") < (
136136
versioning_job.index("uv lock")
137137
)

‎uv.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)