Skip to content

fix: update HTTP dependencies for emSign and Brotli vulnerabilities - #969

Merged
adulau merged 1 commit into
mainfrom
codex/update-http-security-dependencies
Oct 25, 2026
Merged

adulau merged 1 commit into
mainfrom
codex/update-http-security-dependencies

Conversation

@adulau

@adulau adulau commented Oct 25, 2026

Copy link
Copy Markdown
Member

The main package and website lockfiles contain outdated HTTP and CA dependencies. Add security minimums to both manifests and regenerate their lockfiles so both locked deployments and fresh package installs receive patched versions.

Dependency Required version Locked version
Tornado >=6.5.10,<6.6 6.5.10
certifi >=2026.10.19 2026.10.23
urllib3 >=2.8.0 2.8.0
Brotli (CPython) >=1.2.1 1.2.1
brotlicffi (other interpreters) >=1.2.1.0 1.2.1.0

certifi removes the compromised emSign ECC root. The minimum follows Python's eMudhra incident guidance, which recommends 2026.10.19 for compatibility with unaffected roots.

Explicitly require a patched interpreter-specific Brotli decoder for CVE-2026-111497, including brotlicffi. Updating urllib3 alone does not patch the native decoder. urllib3 2.8.0 also includes the streaming decompression and subsequent HTTP/proxy security fixes.

Keep Tornado on the patched 6.5 series to preserve Python 3.10 support: Tornado 6.6 requires Python 3.11. The 6.5.10 release includes September's security fixes and the follow-up compatibility fix.

The website's old lock covered Python <3.13 while its manifest declares <4.0. Regeneration aligns that range and updates its misp-modules dependency from 3.0.2 to 3.1.0 with the related dependencies required by that resolution. The main lock retains all unrelated package versions.

Validation on Python 3.12:

  • poetry check --lock, wheel/sdist builds, and requirements exports succeed for both projects.
  • pytest tests --ignore=tests/test_expansions.py -q --tb=short: 3,421 passed, 42 skipped; 13 subtests passed. The external-service expansion suite was excluded.
  • Flake8 passes on tracked Python source with the CI exclusions.
  • pip check passes; the running service returns HTTP 200 from /healthcheck.
  • Local smoke checks pass for incremental Brotli reads, draining, and Requests streaming with both Brotli 1.2.1 and brotlicffi 1.2.1.0.
  • Confirmed certifi's bundle omits emSign ECC Root CA - G3.

Deployment: update existing environments or rebuild images from the new lockfiles. System CA stores and packaging tools with vendored certificate bundles also need the updates described in Python's incident guidance.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T09:44:32.789241Z 1eda738 PR opened
🔒 Security Review ✅ Completed 2026-10-25T09:44:40.432851Z 1eda738 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1eda738f8a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/poetry.lock Resolved
@adulau
adulau merged commit 1a9451f into main Oct 25, 2026
7 checks passed
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.

1 participant