Skip to content

fix(docker): base images on ruby:3.4-slim-trixie - #271

Merged
chrapkowski-sg merged 1 commit into
masterfrom
inc-541-patched-trust-store
Oct 22, 2026
Merged

chrapkowski-sg merged 1 commit into
masterfrom
inc-541-patched-trust-store

Conversation

@chrapkowski-sg

@chrapkowski-sg chrapkowski-sg commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Moves the Docker images from ruby:2.7.6-alpine3.16 to ruby:3.4-slim-trixie (Debian 13).

Motivation

  • Compromised eMudhra intermediate CAs (public disclosure): the published images (e.g. autoindex-0.5.0) still trust chains through emSign ECC Root CA - G3 and the Comodo AAA Certificate Services cross-sign. Alpine 3.16 is end-of-life and has no fix. Debian 13's ca-certificates 20250419+deb13u1 is listed as patched.
  • scip-ruby can't start in the 0.4.8 and 0.5.0 images. The binaries need glibc 2.38 symbols (__isoc23_*) that gcompat on Alpine lacks. Debian 13 has glibc 2.41.
  • Ruby 2.7 → 3.4: current sorbet requires Ruby ≥ 3.0 and current tapioca requires ≥ 3.3.

The base build now runs scip-ruby --version, so a binary that can't start fails the build.

Test plan

Built the images for 0.5.0 on amd64 and compared them with the published autoindex-0.5.0:

autoindex-0.5.0 This PR
wget, git, Ruby Net::HTTP, gem, bundler vs. the disclosure's test hosts (emSign G3 and AAA chains) all connect all rejected
rubygems.org / github.com OK OK
scip-ruby-autoindex, Gemfile project fails (__isoc23_* relocation errors) index emitted, tapioca 0.20.0
scip-ruby-autoindex, gem package repo not run index emitted
scip-ruby-autoindex, Gemfile pins ruby "3.2.2" not run Bundler refuses as expected; index still emitted

After merge: cut v0.5.1 so Publish Docker builds the new images.

@chrapkowski-sg chrapkowski-sg changed the title fix(docker): patched CA trust store (INC-541); build Linux releases on Ubuntu 22.04 fix(docker): base images on ruby:3.4-slim-trixie (INC-541) Oct 22, 2026
@chrapkowski-sg
chrapkowski-sg force-pushed the inc-541-patched-trust-store branch from d6fdd72 to d89f913 Compare October 22, 2026 07:09
@chrapkowski-sg chrapkowski-sg changed the title fix(docker): base images on ruby:3.4-slim-trixie (INC-541) fix(docker): base images on ruby:3.4-slim-trixie Oct 22, 2026
Move the scip-ruby Docker images from ruby:2.7.6-alpine3.16 to
ruby:3.4-slim-trixie (Debian 13):

- Trust store: the images still trusted the compromised eMudhra intermediate
  CAs (https://emudhra.we-have-a-problem.com/). Alpine 3.16 is end-of-life and
  has no fixed ca-certificates; Debian 13 ships 20250419+deb13u1, which
  distrusts emSign ECC Root CA - G3 and Comodo AAA Certificate Services.
  ca-certificates is installed explicitly so builds pick up security updates.
- glibc: Linux release binaries built on Ubuntu 24.04 (v0.4.8, v0.5.0) need
  glibc 2.38 symbols (__isoc23_*) that gcompat on Alpine lacks, so scip-ruby
  could not start in those images. Debian 13 has glibc 2.41. The base build
  now runs `scip-ruby --version` to catch this.
- Ruby 3.4 replaces Ruby 2.7, which current sorbet (>= 3.0) and tapioca
  (>= 3.3) no longer support.
@chrapkowski-sg
chrapkowski-sg force-pushed the inc-541-patched-trust-store branch from d89f913 to b9a4c78 Compare October 22, 2026 07:12
@chrapkowski-sg
chrapkowski-sg merged commit c9ea3d0 into master Oct 22, 2026
10 checks passed
@chrapkowski-sg
chrapkowski-sg deleted the inc-541-patched-trust-store branch October 22, 2026 07:19
chrapkowski-sg added a commit that referenced this pull request Oct 22, 2026
Bump scip_ruby_version and add the CHANGELOG entry for the Docker image
rebase onto ruby:3.4-slim-trixie (#271).
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.

2 participants