Repository navigation
chore(deps): update dependency langchain-openai to v1 [security] - autoclosed - #7
Closed
renovate-appwrite[bot] wants to merge 1 commit into
Closed
renovate-appwrite[bot] wants to merge 1 commit into
renovate-appwrite[bot] wants to merge 1 commit into
Conversation
🟡 Tier B · Needs changes before merging
The requirements file replaces the
Fix with agent prompt### Issue 1
requirements.txt:6
**Update the langchain-core pin with this major bump**
`langchain-openai==1.1.14` requires `langchain-core>=1.2.31`, but the requirements still pin `langchain-core==0.3.72`. This makes `pip install -r requirements.txt` unsatisfiable, so the Dockerfile's dependency-install step cannot build production images.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.📂 Walkthrough · 1
⏳ Still open from earlier reviews · 1
Reviewed |
| pydantic-settings==2.10.1 | ||
| langgraph==0.5.4 | ||
| langchain-openai==0.3.28 | ||
| langchain-openai==1.1.14 |
There was a problem hiding this comment.
Update the langchain-core pin with this major bump
langchain-openai==1.1.14 requires langchain-core>=1.2.31, but the requirements still pin langchain-core==0.3.72. This makes pip install -r requirements.txt unsatisfiable, so the Dockerfile's dependency-install step cannot build production images.
Prompt To Fix With AI
This is a comment left during a code review.
Path: requirements.txt
Line: 6
Comment:
**Update the langchain-core pin with this major bump**
`langchain-openai==1.1.14` requires `langchain-core>=1.2.31`, but the requirements still pin `langchain-core==0.3.72`. This makes `pip install -r requirements.txt` unsatisfiable, so the Dockerfile's dependency-install step cannot build production images.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.🟠 Major · bug · Reply if this doesn't apply.
renovate-appwrite
Bot
force-pushed
the
renovate/pypi-langchain-openai-vulnerability
branch
from
November 6, 2026 06:30
9c99fab to
c4c4b2e
Compare
renovate-appwrite
Bot
deleted the
renovate/pypi-langchain-openai-vulnerability
branch
November 6, 2026 14:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
==0.3.28→==1.1.14langchain-openai: Image token counting SSRF protection can be bypassed via DNS rebinding
CVE-2026-41488 / GHSA-r7w7-9xr2-qq2r / PYSEC-2026-76
More information
Details
Summary
langchain-openai's_url_to_size()helper (used byget_num_tokens_from_messagesfor image token counting) validated URLs for SSRF protection and then fetched them in a separate network operation with independent DNS resolution. This left a TOCTOU / DNS rebinding window: an attacker-controlled hostname could resolve to a public IP during validation and then to a private/localhost IP during the actual fetch.The practical impact is limited because the fetched response body is passed directly to Pillow's
Image.open()to extract dimensions — the response content is never returned, logged, or otherwise exposed to the caller. An attacker cannot exfiltrate data from internal services through this path. A potential risk is blind probing (inferring whether an internal host/port is open based on timing or error behavior).Affected versions
langchain-openai< 1.1.14Patched versions
langchain-openai>= 1.1.14 (requireslangchain-core>= 1.2.31)Affected code
File:
libs/partners/openai/langchain_openai/chat_models/base.py—_url_to_size()The vulnerable pattern was a validate-then-fetch with separate DNS resolution:
Fix
The fix replaces the validate-then-fetch pattern with an SSRF-safe httpx transport (
SSRFSafeSyncTransportfromlangchain-core) that:This fix was released in langchain-openai 1.1.14.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
CVE-2026-41488 / GHSA-r7w7-9xr2-qq2r / PYSEC-2026-76
More information
Details
LangChain is a framework for building agents and LLM-powered applications. Prior to 1.1.14, langchain-openai's _url_to_size() helper (used by get_num_tokens_from_messages for image token counting) validated URLs for SSRF protection and then fetched them in a separate network operation with independent DNS resolution. This left a TOCTOU / DNS rebinding window: an attacker-controlled hostname could resolve to a public IP during validation and then to a private/localhost IP during the actual fetch.
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:NReferences
This data is provided by OSV and the PyPI Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.