Skip to content

Conversation

@maxisbey
Copy link
Contributor

Backport of #1958 to v1.x.

Summary

The mcp-simple-chatbot example declared requests>=2.31.0 as a dependency but never imports or uses it — the code uses httpx (via the mcp dependency) instead. This stale dependency pulled urllib3 into the lock file, triggering three high-severity Dependabot alerts:

  • CVE-2025-66418 — unbounded decompression chain length (fixed in urllib3 2.6.0)
  • CVE-2025-66471 — streaming API decompression bomb (fixed in urllib3 2.6.0)
  • CVE-2026-21441 — decompression bomb bypass via redirects (fixed in urllib3 2.6.3)

Impact

None of these CVEs affect the SDK. The SDK uses httpx, which has its own HTTP stack (httpcoreh11) and does not depend on urllib3 at any point in its transitive dependency tree.

Changes

  • Removed unused requests>=2.31.0 from examples/clients/simple-chatbot/pyproject.toml
  • Regenerated uv.lockurllib3 remains only via mkdocs-material (docs-only dev dependency)

AI Disclaimer

The simple-chatbot example declared requests>=2.31.0 as a dependency but
never imports or uses it — the code uses httpx (via the mcp dependency)
instead. This stale dependency pulled urllib3 into the lock file, which
triggered three high-severity Dependabot alerts (CVE-2025-66418,
CVE-2025-66471, CVE-2026-21441). None of these affect the SDK since it
uses httpx/httpcore, not urllib3.

Removing requests from the example eliminates urllib3 from the runtime
dependency tree. It remains in the lock file only via mkdocs-material
(a docs-only dev dependency).
@maxisbey maxisbey merged commit bac2789 into v1.x Jan 26, 2026
19 checks passed
@maxisbey maxisbey deleted the fix/remove-unused-requests-dep-v1x branch January 26, 2026 14:03
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.

3 participants