LangChain through 0.1.10 allows …/ directory traversal by an actor who is able to control the final part of the path parameter in a load_chain call. This bypasses the intended behavior of loading configurations only from the hwchase17/langchain-hub GitHub repository. The outcome can be disclosure of an API key for a large language model online service, or remote code execution.
github.com/langchain-ai/langchain
github.com/langchain-ai/langchain/blob/f96dd57501131840b713ed7c2e86cbf1ddc2761f/libs/core/langchain_core/utils/loading.py
github.com/langchain-ai/langchain/commit/e1924b3e93d513ca950c72f8e80e1c133749fba5
github.com/langchain-ai/langchain/pull/18600
github.com/PinkDraconian/PoC-Langchain-RCE/blob/main/README.md
github.com/pypa/advisory-database/tree/main/vulns/langchain-core/PYSEC-2024-45.yaml
github.com/pypa/advisory-database/tree/main/vulns/langchain/PYSEC-2024-43.yaml
nvd.nist.gov/vuln/detail/CVE-2024-28088