Repository navigation
Commit 75b81fe
authored
Release 2.8.1: require a certifi without the compromised emSign roots (#111)
## Summary
Release 2.8.1. certifi below 2026.10.19 trusts emSign root certificates
whose intermediate CA keys were compromised (GHSA-6q48-6c7w-9gw2).
Someone holding one of those keys can issue a valid-looking certificate
for any hostname, so a client that trusts them can have its TLS traffic
intercepted by an on-path attacker. The SDK reaches certifi only through
httpx, and httpx accepts any certifi, so an install could still resolve
an affected version.
This release declares `certifi>=2026.10.19` as a direct dependency. Any
environment that installs 2.8.1 gets a certifi without the compromised
roots. The lockfile moves certifi to 2026.10.19.
Worked with Varun.
## Type of change
- [x] Bug fix (no breaking change)
- [ ] New feature (no breaking change)
- [ ] Breaking change (existing callers must update)
- [ ] Docs, tests, or internal maintenance only
## Public API
Unchanged. The one new runtime requirement is `certifi>=2026.10.19`,
which httpx already pulls in.
## Test plan
- `uv sync --frozen --all-extras --all-groups`, then `uv run pytest`
(172 passed, 2 skipped), `uv run ruff check .` (clean); ruff format, ty
and vulture ran green in CI.
- `osv-scanner` on `uv.lock`: no issues found. Before this change it
reported the certifi advisory.
## Checklist
- [ ] Tests cover the new behavior, and the suite passes locally (a
dependency floor adds no behavior to test; the existing suite passes,
172 tests)
- [x] Lint, format, and type checks pass
- [ ] Docs and README examples updated if the public surface changed
(the public surface did not change)
- [x] No secrets, credentials, or personal data in the diff or the tests1 parent 065e0a8 commit 75b81fe
2 files changed
Lines changed: 10 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments