LangChain: Path traversal and sandbox escape in LangChain file-search middleware and loaders
Medium5.1CVE-2026-55443 · Published Jun 16, 2026 · updated Sep 10, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| langchain PyPI | < 1.3.9 | 1.3.9 |
Details and references
## 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.
More LangChain advisories
All LangChain| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| May 13 | LangSmith SDK: Public prompt pull deserializes untrusted manifests without trust boundary warning CVE-2026-45134High7.1fixed in 0.3.30 | High7.1 | 0.3.30 |
| May 8 | LangChain vulnerable to unsafe deserialization of attacker-controlled objects through overly broad `load()` allowlists CVE-2026-44843High8.2fixed in 0.3.85, 1.3.3 | High8.2 | 0.3.85, 1.3.3 |
| Apr 8 | LangChain has incomplete f-string validation in prompt templates CVE-2026-40087Medium5.3fixed in 0.3.84, 1.2.28 | Medium5.3 | 0.3.84, 1.2.28 |
| Mar 27 | LangChain Core has Path Traversal vulnerabilites in legacy `load_prompt` functions CVE-2026-34070High7.5fixed in 1.2.22 | High7.5 | 1.2.22 |
| Feb 25 | LangChain Community: redirect chaining can lead to SSRF bypass via RecursiveUrlLoader CVE-2026-27795Medium4.1fixed in 1.1.18 | Medium4.1 | 1.1.18 |
| Feb 11 | @langchain/community affected by SSRF Bypass in RecursiveUrlLoader via insufficient URL origin validation CVE-2026-26019Medium4.1fixed in 1.1.14 | Medium4.1 | 1.1.14 |