Update dependency langchain to v1 [SECURITY] #104

Open
renovate[bot] wants to merge 1 commit from renovate/pypi-langchain-vulnerability into main
renovate[bot] commented 2026-06-19 00:43:25 +00:00 (Migrated from github.com)

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
langchain (changelog) ==0.3.30 → ==1.3.9 age adoption passing confidence

LangChain: Path traversal and sandbox escape in LangChain file-search middleware and loaders

CVE-2026-55443 / GHSA-gr75-jv2w-4656

More information

Details

Summary

Several LangChain components that resolve filesystem paths or expand search patterns do not consistently confine the resolved path to the intended root directory. Affected behaviors include: a file-search agent middleware that validates a starting directory but not the search pattern or the resolved target of matched files, so glob patterns and symlinks can reach files outside the configured root; prompt- and chain/agent-configuration loaders that accept path fields and resolve them without confining the result to a trusted base or rejecting symlink targets; and path-prefix authorization checks that compare by string prefix without a path-segment boundary, so a sibling path sharing the prefix is accepted. When these components receive path values, search patterns, or workspace contents influenced by an untrusted source — including an LLM acting on untrusted input — the result can be disclosure of files outside the intended boundary. We have no evidence of this behavior being triggered in the wild.

Affected users / systems

You may be affected if you expose an agent with filesystem-search middleware over a directory and accept prompts or retrieved content influenced by untrusted sources; load prompt or chain/agent configuration from untrusted or shared sources; or rely on path-prefix restrictions to confine tool file access. Callers that confine these components to fully trusted inputs and first-party configuration are not affected.

Impact
  • Confidentiality: disclosure of file contents outside the intended root/sandbox.
  • Authorization: path-prefix bypass can grant access to sibling resources beyond the intended subtree.
Patches / mitigation

The affected components will canonicalize candidate paths (resolving symlinks) and verify the resolved real path remains within the configured root before reading or returning it; search patterns will be normalized so they cannot escape the root; configuration loaders will confine resolved path fields and reject symlink escapes unless the caller explicitly opts in to dangerous loading; and path-prefix checks will enforce a path-segment boundary. Path validation will be made operating-system-portable.

Compatibility

Callers that already pass only in-root paths, validated configuration, and trusted search inputs see no behavioral change. Callers that intentionally reference external paths can opt in via the existing dangerous-loading flag.

Operational guidance

Confine filesystem-backed agent tools to a dedicated directory and prefer running them sandboxed/containerized; validate path and identifier inputs where untrusted input enters; do not enable dangerous loading for configuration whose origin you do not control.

LangSmith / hosted deployments note

This issue concerns library components executed by agents.

Severity

  • CVSS Score: 5.1 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

langchain-ai/langchain (langchain)

v1.3.9

v1.3.8

v1.3.7

v1.3.6

v1.3.4

v1.3.2

v1.3.1

v1.3.0

v1.2.18

v1.2.17

v1.2.16

v1.2.15

v1.2.14

v1.2.13

v1.2.12

v1.2.11

v1.2.10

v1.2.9

v1.2.8

v1.2.7

v1.2.6

v1.2.4

v1.2.3

v1.2.2

v1.2.1

v1.2.0

v1.1.3

v1.1.2

v1.1.1

v1.1.0

v1.0.8

v1.0.7

v1.0.6

v1.0.5

v1.0.4

v1.0.3

v1.0.2

v1.0.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [langchain](https://redirect.github.com/langchain-ai/langchain) ([changelog](https://redirect.github.com/langchain-ai/langchain/releases?q=tag%3A%22langchain%3D%3D1%22)) | `==0.3.30` → `==1.3.9` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/langchain/1.3.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/langchain/1.3.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/langchain/0.3.30/1.3.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/langchain/0.3.30/1.3.9?slim=true) | --- ### LangChain: Path traversal and sandbox escape in LangChain file-search middleware and loaders [CVE-2026-55443](https://nvd.nist.gov/vuln/detail/CVE-2026-55443) / [GHSA-gr75-jv2w-4656](https://redirect.github.com/advisories/GHSA-gr75-jv2w-4656) <details> <summary>More information</summary> #### Details ##### Summary Several LangChain components that resolve filesystem paths or expand search patterns do not consistently confine the *resolved* path to the intended root directory. Affected behaviors include: a file-search agent middleware that validates a starting directory but not the search pattern or the resolved target of matched files, so glob patterns and symlinks can reach files outside the configured root; prompt- and chain/agent-configuration loaders that accept path fields and resolve them without confining the result to a trusted base or rejecting symlink targets; and path-prefix authorization checks that compare by string prefix without a path-segment boundary, so a sibling path sharing the prefix is accepted. When these components receive path values, search patterns, or workspace contents influenced by an untrusted source — including an LLM acting on untrusted input — the result can be disclosure of files outside the intended boundary. We have no evidence of this behavior being triggered in the wild. ##### Affected users / systems You may be affected if you expose an agent with filesystem-search middleware over a directory and accept prompts or retrieved content influenced by untrusted sources; load prompt or chain/agent configuration from untrusted or shared sources; or rely on path-prefix restrictions to confine tool file access. Callers that confine these components to fully trusted inputs and first-party configuration are not affected. ##### Impact - Confidentiality: disclosure of file contents outside the intended root/sandbox. - Authorization: path-prefix bypass can grant access to sibling resources beyond the intended subtree. ##### Patches / mitigation The affected components will canonicalize candidate paths (resolving symlinks) and verify the resolved real path remains within the configured root before reading or returning it; search patterns will be normalized so they cannot escape the root; configuration loaders will confine resolved path fields and reject symlink escapes unless the caller explicitly opts in to dangerous loading; and path-prefix checks will enforce a path-segment boundary. Path validation will be made operating-system-portable. ##### Compatibility Callers that already pass only in-root paths, validated configuration, and trusted search inputs see no behavioral change. Callers that intentionally reference external paths can opt in via the existing dangerous-loading flag. ##### Operational guidance Confine filesystem-backed agent tools to a dedicated directory and prefer running them sandboxed/containerized; validate path and identifier inputs where untrusted input enters; do not enable dangerous loading for configuration whose origin you do not control. ##### LangSmith / hosted deployments note This issue concerns library components executed by agents. #### Severity - CVSS Score: 5.1 / 10 (Medium) - Vector String: `CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N` #### References - [https://github.com/langchain-ai/langchain/security/advisories/GHSA-gr75-jv2w-4656](https://redirect.github.com/langchain-ai/langchain/security/advisories/GHSA-gr75-jv2w-4656) - [https://nvd.nist.gov/vuln/detail/CVE-2026-55443](https://nvd.nist.gov/vuln/detail/CVE-2026-55443) - [https://github.com/langchain-ai/langchain/commit/dcaf7795a3e6590af55c3ff7bda6add6355e9ea6](https://redirect.github.com/langchain-ai/langchain/commit/dcaf7795a3e6590af55c3ff7bda6add6355e9ea6) - [https://github.com/advisories/GHSA-gr75-jv2w-4656](https://redirect.github.com/advisories/GHSA-gr75-jv2w-4656) This data is provided by the [GitHub Advisory Database](https://redirect.github.com/advisories/GHSA-gr75-jv2w-4656) ([CC-BY 4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)). </details> --- ### Release Notes <details> <summary>langchain-ai/langchain (langchain)</summary> ### [`v1.3.9`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.3.8...langchain==1.3.9) ### [`v1.3.8`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.3.7...langchain==1.3.8) ### [`v1.3.7`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.3.6...langchain==1.3.7) ### [`v1.3.6`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-openai==1.3.4...langchain==1.3.6) ### [`v1.3.4`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-openai==1.3.2...langchain-openai==1.3.4) ### [`v1.3.2`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-openai==1.3.1...langchain-openai==1.3.2) ### [`v1.3.1`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-openai==1.3.0...langchain-openai==1.3.1) ### [`v1.3.0`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.18...langchain-openai==1.3.0) ### [`v1.2.18`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.17...langchain==1.2.18) ### [`v1.2.17`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.16...langchain==1.2.17) ### [`v1.2.16`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.15...langchain==1.2.16) ### [`v1.2.15`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.14...langchain==1.2.15) ### [`v1.2.14`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.13...langchain==1.2.14) ### [`v1.2.13`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.12...langchain==1.2.13) ### [`v1.2.12`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.11...langchain==1.2.12) ### [`v1.2.11`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-core==1.2.10...langchain==1.2.11) ### [`v1.2.10`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.9...langchain-core==1.2.10) ### [`v1.2.9`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-core==1.2.8...langchain==1.2.9) ### [`v1.2.8`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.7...langchain-core==1.2.8) ### [`v1.2.7`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.6...langchain==1.2.7) ### [`v1.2.6`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.4...langchain==1.2.6) ### [`v1.2.4`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==1.2.3...langchain==1.2.4) ### [`v1.2.3`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-openai==1.2.2...langchain==1.2.3) ### [`v1.2.2`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-fireworks==1.2.1...langchain-openai==1.2.2) ### [`v1.2.1`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-perplexity==1.2.0...langchain-fireworks==1.2.1) ### [`v1.2.0`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-groq==1.1.3...langchain-perplexity==1.2.0) ### [`v1.1.3`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-text-splitters==1.1.2...langchain-groq==1.1.3) ### [`v1.1.2`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-text-splitters==1.1.1...langchain-text-splitters==1.1.2) ### [`v1.1.1`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-deepseek==1.1.0...langchain-text-splitters==1.1.1) ### [`v1.1.0`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.8...langchain-deepseek==1.1.0) ### [`v1.0.8`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.7...langchain-classic==1.0.8) ### [`v1.0.7`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.6...langchain-classic==1.0.7) ### [`v1.0.6`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.5...langchain-classic==1.0.6) ### [`v1.0.5`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.4...langchain-classic==1.0.5) ### [`v1.0.4`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.3...langchain-classic==1.0.4) ### [`v1.0.3`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-classic==1.0.2...langchain-classic==1.0.3) ### [`v1.0.2`](https://redirect.github.com/langchain-ai/langchain/compare/langchain-xai==1.0.0...langchain-classic==1.0.2) ### [`v1.0.0`](https://redirect.github.com/langchain-ai/langchain/compare/langchain==0.3.27...langchain-xai==1.0.0) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/sarumaj/rag-agent). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjU3LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/pypi-langchain-vulnerability:renovate/pypi-langchain-vulnerability
git switch renovate/pypi-langchain-vulnerability

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/pypi-langchain-vulnerability
git switch renovate/pypi-langchain-vulnerability
git rebase main
git switch main
git merge --ff-only renovate/pypi-langchain-vulnerability
git switch renovate/pypi-langchain-vulnerability
git rebase main
git switch main
git merge --no-ff renovate/pypi-langchain-vulnerability
git switch main
git merge --squash renovate/pypi-langchain-vulnerability
git switch main
git merge --ff-only renovate/pypi-langchain-vulnerability
git switch main
git merge renovate/pypi-langchain-vulnerability
git push origin main
Sign in to join this conversation.
No description provided.