Skip to content

image: upgrade debootstrapped packages from updates and security pockets - #71

Merged
passcod merged 3 commits into
mainfrom
ccr-56015cae-nhuxr8
Oct 20, 2026
Merged

passcod merged 3 commits into
mainfrom
ccr-56015cae-nhuxr8

Conversation

@passcod

@passcod passcod commented Oct 20, 2026

Copy link
Copy Markdown
Member

debootstrap installs only from the suite's release pocket, and nothing upgraded those packages afterwards. configure.sh adds the -updates and -security pockets, but only ever installs new packages from them, so everything debootstrap put down stayed at its release version.

This is urgent now because of ca-certificates. Resolute's release-pocket version (20260223) still ships emSign ECC Root CA - G3. Mozilla and Chrome are removing that root in an emergency: the private keys of six TLS intermediates under it are trivially recoverable (Mozilla bug 2083449). The updates and security versions (20260601~26.04.1 and 20260816ubuntu0.26.04.1) no longer include it, but our images never picked them up. I checked this with apt-cache madison and by installing each version in ubuntu:26.04.

Changes, one commit each:

  • Spec: new item r[image.base.current-packages]. Every installed package must be at the newest version the configured archives offer at build time, and the image must not trust a root CA those archives have withdrawn.
  • Implementation: apt-get dist-upgrade straight after the first apt-get update in configure.sh, before anything else is installed. This also brings in any other security fixes debootstrap's package set was missing.
  • Test: test-image-structure.sh asserts that the emSign ECC Root CA - G3 file is in neither /usr/share/ca-certificates/mozilla/ nor /etc/ssl/certs/.

Already-deployed hosts need ca-certificates upgraded separately. A bestool alertd check to find them is coming in a separate PR.

Validation: just test-shellcheck passes (shellcheck -x --severity=error across image/, tests/, scripts/ and iso/), and tracey query validate reports 0 errors. I couldn't build an image in my sandbox, so CI's build and structure test are the first end-to-end run.


Generated by Claude Code

debootstrap installs only from the release pocket, so a fresh image can
still trust root CAs the archive has since withdrawn, such as emSign ECC
Root CA - G3 (Mozilla bug 2083449).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJ4tUMKn4zAZM9n1pa86Rv
@passcod
passcod marked this pull request as ready for review October 20, 2026 19:27
@passcod
passcod merged commit ac09926 into main Oct 20, 2026
30 checks passed
@passcod
passcod deleted the ccr-56015cae-nhuxr8 branch October 20, 2026 19:47
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