Skip to content

chore(release): 3.4.1 - #130

Merged
lelia merged 10 commits into
mainfrom
lelia/release-3.4.1
Oct 22, 2026
Merged

lelia merged 10 commits into
mainfrom
lelia/release-3.4.1

Conversation

@lelia

@lelia lelia commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Release for the eMudhra intermediate CA compromise. Builds on #128, which is merged.

Ready for review. Trivy 0.76.1 is published and pinned, CI is green, and the final images pass the checks below. Ready to merge once approved.

What's in it

Not in this release: TruffleHog stays on 3.96.0 (go1.25.12). No release is built on a fixed Go yet (3.99.3 is go1.27.2). Its runtime trust is fixed by the system store from #128, so this only affects scanner findings for CVE-2026-111943, which the changelog notes.

Before this ships

  • fix(docker): stop trusting the compromised eMudhra intermediate CAs #128 merged; this PR is rebased onto main.
  • socketsecurity 2.11.3 and socketdev 3.6.1 published and pinned.
  • CVE-2026-111943 is public and correct: Go advisory GO-2026-6809 ("Distrust compromised intermediate certificates in crypto/x509", fixed in Go 1.26.10 and 1.27.3), also in NVD.
  • Trivy digest: trivy-dist published 0.76.1 (run). The image is cosign-signed by the trivy-dist workflow, its binaries are go1.27.3 on amd64 and arm64, and it carries ca-certificates 20261020-r0. Pinned in all three Dockerfiles; placeholders and TODOs removed.
  • Regression-test the final images: built Dockerfile, Dockerfile.heavy and app_tests/Dockerfile locally. smoke-test-docker.sh (all three check sets) and integration-test-docker.sh (main and heavy) pass, CI smoke passes on amd64 and arm64, and every check under "Verification" below rejects both test hosts in the main and heavy images. Heavy reports socketcli 2.11.3, certifi 2026.10.19, pip 26.2.2, Node 22.23.4, Trivy 0.76.1.
  • Changelog date stamped 2026-10-21.
  • Merge, then tag the merge commit v3.4.1 to publish.

Verification for the final build

On the published 3.4.1 and 3.4.1-heavy images, every client should fail certificate verification against both dv-g3b-emudhra.we-have-a-problem.com and dv-g3b-aaa-emudhra.we-have-a-problem.com:

docker run --rm --entrypoint sh ghcr.io/socketdev/socket-basics:3.4.1 -c 'H=dv-g3b-emudhra.we-have-a-problem.com
curl -sS -o /dev/null -w "curl %{http_code}\n" https://$H/
/socket-basics/.venv/bin/python -c "import requests; print(\"python\", requests.get(\"https://$H/\").status_code)"
/usr/local/bin/python -m pip download --no-deps -q -d /tmp/p --index-url https://$H/simple/ certifi 2>&1 | grep -m1 -o CERTIFICATE_VERIFY_FAILED
node -e "fetch(\"https://$H/\").then(r=>console.log(\"node\",r.status),e=>console.log(\"node rejects\"))"
trivy image --download-db-only --db-repository $H/trivy-db 2>&1 | tail -1'

Each line should fail verification. pip should print CERTIFICATE_VERIFY_FAILED. Use /usr/local/bin/python for pip, because the .venv (first on PATH) has no pip. Local builds of this branch pass all of these for both images.

The app-tests image (internal integration testing only, not published) now gets the same ca-certificates floor and pip 26.2.2 upgrade as the shipped images. Its pip previously stayed at the base image's 25.0.1, which accepted the test hosts.


Note

Medium Risk
Security-sensitive supply-chain and TLS trust changes across Docker images and pinned scanners/SDKs; behavior is intentional but affects what CI images pull and how certificate verification behaves at build/runtime.

Overview
Release 3.4.1 hardens images and dependencies after the compromised eMudhra intermediate CAs, and bumps the published GitHub Action and GHCR image to 3.4.1.

Dependency and image pins: Socket-built Trivy moves 0.73.0 → 0.76.1 (digest-pinned in Dockerfile, Dockerfile.heavy, and app_tests/Dockerfile) so the bundled scanner uses Go 1.27.3 and clears CVE-2026-111943 findings on Trivy itself. Socket Python CLI is 2.9.0 → 2.11.3 in heavy and app-tests images; socketdev is 3.6.0 → 3.6.1 in uv.lock, both aligned with certifi>=2026.10.19.

Build and tooling: The internal app-tests image now enforces the same ca-certificates floor and pip ≥26.2.2 upgrade as shipped images (pip previously stayed on the base image and could still trust bad chains). scripts/check_core_tools.py understands Trivy X.Y.Z-socket.N rebuild tags for GHCR discovery and upstream PURL scoring, with matching tests.

Release mechanics: Version strings, action.yml, README/docs examples, and the changelog are updated for 3.4.1; changelog notes TruffleHog may still trigger CVE-2026-111943 until rebuilt on a fixed Go.

Reviewed by Cursor Bugbot for commit 2a8e43b. Configure here.

@lelia
lelia deployed to socket-firewall October 21, 2026 02:23 — with GitHub Actions Active
@lelia
lelia force-pushed the dc-larsen/emudhra-ca-trust branch from fe2451d to 8e82296 Compare October 21, 2026 02:51
@lelia
lelia force-pushed the lelia/release-3.4.1 branch from 42e477a to b387d57 Compare October 21, 2026 02:52
@lelia
lelia deployed to socket-firewall October 21, 2026 02:52 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 03:14 — with GitHub Actions Active
@lelia
lelia force-pushed the lelia/release-3.4.1 branch from 0b5ff6c to b781ad0 Compare October 21, 2026 20:39
@lelia
lelia deployed to socket-firewall October 21, 2026 20:39 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 20:40 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 20:42 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 20:42 — with GitHub Actions Active
@lelia
lelia force-pushed the lelia/release-3.4.1 branch from 73a58ee to b79d835 Compare October 21, 2026 21:46
@lelia
lelia deployed to socket-firewall October 21, 2026 21:47 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 21:47 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 21:49 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 21:49 — with GitHub Actions Active
@socket-security-staging

socket-security-staging Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpypi/​socketdev@​3.6.0 ⏵ 3.6.198100100100100

View full report

@socket-security

socket-security Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpypi/​socketdev@​3.6.0 ⏵ 3.6.198100100100100

View full report

lelia added 6 commits October 21, 2026 17:52
Stamps [Unreleased] as [3.4.1], bumps the version files and uv.lock, and
synchronizes the current-release references across README.md and docs/**.

Also bumps the Socket Python CLI in the heavy and app-tests images from 2.9.0
to 2.11.2, which carries the eMudhra CA fix for the CLI's own image.
Points all three images at the trivy-dist toolchain rebuild of v0.73.0 on Go
1.26.10 (SocketDev/trivy-dist#24). The digest is a placeholder until that
image is published.

check_core_tools now ranks -socket.N GHCR tags above their base version and
drops the suffix from the upstream Go module purl.
Upstream's v0.76.1 is built on Go 1.27.3, so Basics takes Socket's build of
it instead of a 0.73.0 toolchain rebuild (SocketDev/trivy-dist#25). The
digest stays a placeholder until that build publishes.
uv.lock moves once socketdev 3.6.1 is on PyPI.
2.11.3 requires certifi>=2026.10.19 and SDK 3.6.1, which requires it too.
Relocked with uv 0.12.1, the version the images use, which also restores
lock format revision 3.
@lelia
lelia changed the base branch from dc-larsen/emudhra-ca-trust to main October 21, 2026 21:53
@lelia
lelia force-pushed the lelia/release-3.4.1 branch from b4cd6fe to c70dc73 Compare October 21, 2026 21:53
@lelia
lelia deployed to socket-firewall October 21, 2026 21:53 — with GitHub Actions Active
@lelia
lelia marked this pull request as ready for review October 21, 2026 21:57
@lelia
lelia requested a review from a team as a code owner October 21, 2026 21:57
@lelia
lelia deployed to socket-firewall October 21, 2026 21:57 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 21, 2026 22:00 — with GitHub Actions Active

@dacoburn Douglas (dacoburn) 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.

Nothing jumps out to me as an issue here.

@lelia
lelia deployed to socket-firewall October 22, 2026 02:34 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 22, 2026 02:34 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 22, 2026 02:58 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 22, 2026 02:59 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 22, 2026 02:59 — with GitHub Actions Active
@lelia

lelia commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

bugbot run

@lelia
lelia deployed to socket-firewall October 22, 2026 03:02 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall October 22, 2026 03:02 — with GitHub Actions Active

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 2a8e43b. Configure here.

@lelia
lelia merged commit 2ba1ad9 into main Oct 22, 2026
28 checks passed

This branch was successfully deployed

1 active deployment
socket-firewall — 0e8c9423 Deployed Oct 22, 2026 by lelia via python-sfw-smoke-enterprise #177
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