Skip to content

chore(deps): upgrade pinecone 7 + aiohttp 3.14 to close transitive HTTP CVEs#512

Closed
stuartc wants to merge 1 commit into
mainfrom
deps/pinecone-aiohttp
Closed

chore(deps): upgrade pinecone 7 + aiohttp 3.14 to close transitive HTTP CVEs#512
stuartc wants to merge 1 commit into
mainfrom
deps/pinecone-aiohttp

Conversation

@stuartc

@stuartc stuartc commented Jun 8, 2026

Copy link
Copy Markdown
Member

Short Description

Bumps langchain-pinecone (0.2.2 → 0.2.13) and the pinecone SDK (5.4.2 → 7.3.0) so we can finally move aiohttp off 3.10. That clears a big batch of transitive aiohttp HTTP CVEs.

We don't have Dependabot PRs configured, so I'm linking the alerts directly — this closes the 21 aiohttp ones (table at the bottom).

Implementation Details

The actual blocker was langchain-pinecone 0.2.2, which hard-pinned aiohttp<3.11 — so none of the patched aiohttp releases could even resolve. Bumping langchain-pinecone drops that cap (it moved to pinecone[asyncio]>=6), which in turn pulls the pinecone SDK up to 7.x and lets aiohttp go to 3.14.1, which is the real security target here.

No source changes were needed. The pinecone APIs we actually use (Pinecone(api_key=...), .Index(), list_indexes(), ServerlessSpec) are stable across v5→v7, and both create_index() calls already use keyword args (that's the one signature change in v7).

I kept langchain-core on 0.3.x on purpose — the 1.x migration is a separate PR further up this stack. The lock also sheds a pile of unused test-only transitives (pytest-asyncio, pytest-socket, vcrpy, langchain-tests, etc.) that were only present because of the old pinecone pin, which is why the lock diff looks bigger than the change really is.

Tested: unit suite is 9/9, and all six affected service modules import cleanly against pinecone 7.3.0. I couldn't run the live Pinecone/OpenAI smokes locally (no API keys in my checkout), so worth a quick sanity check in CI/dev before merge.

This is PR 1 of 3 in a stack — base is main. The other two build on top: #513 (pytest 9 + urllib3 + dependabot config), then #514 (LangChain 1.x + openai SDK 2.x). Merge order: this one first, then #513, then #514.

Alert Severity Summary
#49 High HTTP parser auto_decompress zip-bomb DoS
#34 Low Request/response smuggling via chunked trailer parsing
#50 Low Unicode header-value parsing discrepancies
#51 Low Unicode match groups in ASCII protocol-element regexes
#52 Low Brute-force leak of internal static file path components
#53 Medium DoS when bypassing asserts
#54 Medium DoS via large payloads
#55 Medium DoS via chunked messages
#56 Low Cookie parser warning storm
#78 Medium Unlimited trailer headers → uncapped memory
#79 Low DoS via unbounded DNS cache in TCPConnector
#80 Low CRLF injection via multipart content-type header
#81 Medium UNC SSRF / NTLMv2 cred theft / local file read (Windows static handler)
#82 Medium Multipart header size bypass
#83 Low Late size enforcement for non-file multipart fields → memory DoS
#84 Low Cookie & Proxy-Authorization leak on cross-origin redirect
#85 Low Response splitting via \r in reason phrase
#86 Low C parser accepts null bytes/control chars in header values
#87 Medium Accepts duplicate Host headers
#102 Medium Deserialization of untrusted data
#103 Medium Cross-origin redirect with per-request cookies

AI Usage

Please disclose how you've used AI in this work (it's cool, we just want to know!):

  • Code generation (copilot but not intellisense)
  • Learning or fact checking
  • Strategy / design
  • Optimisation / refactoring
  • Translation / spellchecking / doc gen
  • Other
  • I have not used AI

Put together with Claude Code — agent workflows did the dependency research, the bumps, and the verification; I reviewed and drove the grouping.

You can read more details in our Responsible AI Policy

…TP CVEs

Bump langchain-pinecone 0.2.2 -> ^0.2.13 and pinecone SDK 5.4.2 -> 7.3.0,
which drops langchain-pinecone's aiohttp<3.11 cap and lets aiohttp advance
3.10.11 -> 3.14.1 (the security target). Closes 21 aiohttp Dependabot alerts.

No source changes required: the pinecone APIs in use (Pinecone(api_key=),
.Index(), list_indexes(), ServerlessSpec) are stable across v5->v7 and both
create_index() call sites already use keyword args. langchain-core held at
0.3.x (its 1.x migration is a separate PR). Lock also sheds unused test-only
transitive deps (pytest-asyncio/-socket/-benchmark, vcrpy, langchain-tests)
that were free-riding via the old pinecone pin.
@josephjclark

Copy link
Copy Markdown
Collaborator

Done in release 1.3.0

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.

2 participants