GeezerVison is showing github.com — Require `certifi>=2026.10.19`, upgrade the image's `pip`, and pin SDK to `v3.6.1` by lelia · Pull Request #418 · SocketDev/socket-python-cli
Conversation
lelia
commented
Oct 21, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Follow-up to #415 for the eMudhra intermediate CA compromise: closes the two remaining gaps, and pins Socket Python SDK 3.6.1 (SocketDev/socket-sdk-python#120), which carries the same certifi fix. Released as 2.11.3.
Root Cause
- certifi wasn't a dependency of the package.
requests brings it in, so only uv.lock pinned it, and uv.lock isn't published. The Docker image installs from the lock, but pip install socketsecurity resolves certifi on its own and can keep a bundle that trusts the compromised intermediates. This includes existing environments and tools that bundle the CLI.
- The image's pip trusts them. pip uses its own vendored CA bundle, not the system store.
socketdev/cli:2.11.2 ships pip 26.2.1 (vendored certifi 2026.06.17), which completes a request to dv-g3b-emudhra.we-have-a-problem.com.
Fix
pyproject.toml: require certifi>=2026.10.19. It's a floor, not an exact pin like the other dependencies, so later trust-store fixes still reach installs.
Dockerfile: upgrade pip to 26.2.2 or newer (vendors certifi 2026.10.19) against the fixed system store, and fail the build on anything older.
dependency-review.yml: dockerfile-smoke also requires pip to reject the test hosts.
pyproject.toml, uv.lock: socketdev==3.6.1, which requires certifi>=2026.10.19 too. Version 2.11.3 and changelog.
Testing
- The built wheel lists
Requires-Dist: certifi>=2026.10.19. pytest (580 passed) against the 3.6.1 lock.
- Built
python:3-alpine with this PR's CA store and pip steps: pip 26.2.2 rejects both test hosts with CERTIFICATE_VERIFY_FAILED and still reaches PyPI. The same check fails against socketdev/cli:2.11.2.
dockerfile-smoke passes on amd64 and arm64: the build upgrades pip from 26.2.1, and curl, Node, Python requests and pip all reject both test hosts, while api.socket.dev, npm and PyPI still connect.
Public Changelog
socketsecurity now requires certifi>=2026.10.19, and the socketdev/cli image's pip no longer trusts the compromised eMudhra intermediate CAs.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
uv.lock still resolves socketdev 3.6.0: relock with
`uv lock --upgrade-package socketdev` once 3.6.1 is on PyPI.
certifi only came in through requests, so pip installs of socketsecurity
could keep a CA bundle that trusts the compromised eMudhra intermediates;
only the Docker image's lockfile pinned it. Add a floor to the package's
dependencies.
The image's pip (26.2.1) uses its own vendored CA bundle and still trusted
them. Upgrade it to 26.2.2 or newer against the fixed system store, and
have dockerfile-smoke require pip to reject the test hosts too.
lelia
changed the title
Bump the Socket Python SDK to 3.6.1
Require certifi>=2026.10.19, upgrade the image's pip, and pin SDK 3.6.1
Oct 21, 2026
lelia
changed the title
Require certifi>=2026.10.19, upgrade the image's pip, and pin SDK 3.6.1
Require certifi>=2026.10.19, upgrade the image's pip, and pin SDK to v3.6.1
Oct 21, 2026
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This branch was previously deployed
1 inactive
deployment
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|