Skip to content

Commit a9f1ad6

Browse files
committed
Require certifi>=2026.10.19
requests takes its CA bundle from certifi, and socketdev didn't constrain it, so pip could leave consumers on a bundle that trusts the compromised eMudhra intermediate CAs. A floor rather than an exact pin, so later trust-store fixes still reach them.
1 parent 89807bf commit a9f1ad6

3 files changed

Lines changed: 11 additions & 5 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
- Updated the locked versions of `certifi` (2025.11.12 → 2026.10.19), `uv`
88
(0.11.17 → 0.13.4) and `virtualenv` (20.36.1 → 21.14.7) to pick up fixes for
99
critical vulnerabilities. These versions are pinned in `uv.lock`, which
10-
controls the development and CI environment. socketdev does not pin
11-
`certifi` for consumers because it comes in through `requests`, so upgrade
12-
it in your own environment.
10+
controls the development and CI environment.
11+
- socketdev now requires `certifi>=2026.10.19`, so installing it also upgrades
12+
the CA bundle `requests` uses. Older bundles trust the compromised eMudhra
13+
intermediate CAs.
1314
- The release build toolchain (`.github/actions/setup-hatch`) now installs
1415
`virtualenv==21.14.7` and `hatchling==1.32.4`, matching `uv.lock` and the
1516
`[build-system]` pin. Published artifacts are built with the patched versions.

‎pyproject.toml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ dynamic = ["version"]
88
requires-python = ">= 3.10"
99
dependencies = [
1010
'requests>=2.33.0,<3',
11-
'typing-extensions>=4.12.2,<5'
11+
'typing-extensions>=4.12.2,<5',
12+
# requests' CA bundle. 2026.10.19 drops the roots behind the compromised
13+
# eMudhra intermediates; a floor, so later trust-store fixes still apply.
14+
'certifi>=2026.10.19'
1215
]
1316
readme = "README.rst"
1417
license = {file = "LICENSE"}

‎uv.lock‎

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)