Description
LangChain is a framework for building LLM-powered applications. Prior to @langchain/core versions 0.3.80 and 1.1.8, and prior to langchain versions 0.3.37 and 1.2.3, a serialization injection vulnerability exists in LangChain JS's toJSON() method (and subsequently when string-ifying objects using JSON.stringify(). The method did not escape objects with 'lc' keys when serializing free-form data in kwargs. The 'lc' key is used internally by LangChain to mark serialized objects. When user-controlled data contains this key structure, it is treated as a legitimate LangChain object during deserialization rather than plain user data. This issue has been patched in @langchain/core versions 0.3.80 and 1.1.8, and langchain versions 0.3.37 and 1.2.3
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
langchain-ai langchainjs
@langchain/core >= 1.0.0, < 1.1.8affected@langchain/core < 0.3.80affectedlangchain >= 1.0.0, < 1.2.3affectedlangchain < 0.3.37affected
References
- https://github.com/langchain-ai/langchainjs/security/advisories/GHSA-r399-636x-v7f6 ↗
- https://github.com/langchain-ai/langchainjs/commit/e5063f9c6e9989ea067dfdff39262b9e7b6aba62 ↗
- https://github.com/langchain-ai/langchainjs/releases/tag/%40langchain%2Fcore%401.1.8 ↗
- https://github.com/langchain-ai/langchainjs/releases/tag/langchain%401.2.3 ↗