Repository navigation
fix: refresh system CA trust store (eMudhra distrust) - #175
Merged
lurtz merged 8 commits intoOct 26, 2026
Merged
Conversation
Contributor
Author
|
@opajonk @lurtz - this is a security fix, is it a chore or a fix? Also, this is quite a jump in uv versions, and I am not so sure if this is a patch level bump (the ca fix should be non-breaking) or if it is a minor due to side-effects related to the big uv jump. I am not so familiar with the version history of uv. |
lurtz
reviewed
Oct 23, 2026
Contributor
a-zw
reviewed
Oct 23, 2026
a-zw
left a comment
There was a problem hiding this comment.
Looks fine. Only two comments are suspicious.
…inaccurate Renovate comments Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The checks verify the Dockerfile's CA refresh, not the s-core-local feature. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…cript Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The Java trust-store assertion can report success when keytool fails without inspecting the keystore.
1 open issue
What changed in this PR
This PR refreshes CA trust stores during devcontainer builds and adds checks for the distrusted eMudhra root. It also updates Python tooling and improves release-tag handling.
Changes:
- Refresh system CA certificates in both Dockerfiles and add OpenSSL and Java trust-store checks.
- Upgrade
uv/uvxto 0.13.5 andpre-committo 4.7.0, aligning documentation and tests. - Support release tags with or without a
vprefix, cache digest lookups, and add Renovate tracking foruv.
| File | Description |
|---|---|
tools/tests/python_tool_runner_test.sh |
Update the expected pre-commit version. |
tools/README.md |
Update documented tool versions. |
tools/lockfiles/uv.lock.json |
Update uv/uvx versions, URLs, and checksums. |
tools/lockfiles/python_tools.bzl |
Upgrade pre-commit in the catalog. |
tools/internal/refresh_lockfile_digests.py |
Preserve release-tag prefixes and cache digest lookups. |
src/s-core-devcontainer/test-project/test.sh |
Include trust-store checks. |
src/s-core-devcontainer/test-project/ca_certificates.sh |
Add system and Java CA assertions. |
src/s-core-devcontainer/.devcontainer/with-proxy-vars.Dockerfile |
Refresh CA certificates before feature installation. |
src/s-core-devcontainer/.devcontainer/Dockerfile |
Refresh CA certificates before feature installation. |
docs/README.md |
Link trust-store test coverage. |
.github/renovate.json5 |
Add uv lockfile version tracking. |
Review effort: Balanced
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
nick-hildebrant-etas
marked this pull request as ready for review
October 26, 2026 15:38
lurtz
approved these changes
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This pull request focuses on improving the security and reliability of the system trust store handling in devcontainer builds, ensuring that TLS operations always use an up-to-date CA bundle. It also upgrades several Python tools (
uv,uvx, andpre-commit) to their latest versions and makes related changes to lockfiles, documentation, and test coverage. Additionally, the lockfile refresh logic is improved for better compatibility with upstream release tagging conventions.response to: https://access.redhat.com/security/vulnerabilities/RHSB-2026-012
Security and Trust Store Improvements:
.devcontainer/Dockerfile,with-proxy-vars.Dockerfile), before any feature runs to prevent usage of stale or distrusted CAs, with explanatory comments clarifying the rationale. [1] [2] [3] [4]test_default.sh) to assert that compromised or distrusted CAs (e.g., "emSign ECC Root CA - G3") are not present in either the OpenSSL or Java trust stores, ensuring CI fails if the trust store is stale.Python Tool Upgrades and Lockfile Consistency:
uvanduvxfrom version 0.10.4 to 0.13.5 and updated their lockfile entries. [1] [2]pre-commitfrom version 4.5.1 to 4.7.0 in the tool catalog, lockfile, and corresponding tests. [1] [2] [3]uv.lock.jsonupdates automatically.Lockfile Refresh Logic Improvements:
refresh_lockfile_digests.pyto correctly handle upstream release tags that may or may not be prefixed withv(e.g.,v1.27.0vs0.13.5), ensuring URLs and API calls match the actual release format and preventing broken upgrades for tools likeuvandruff. [1] [2]Test and Documentation Updates:
tools/README.mdto reflect the new versions ofuv,uvx, andpre-commit.