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 JSs 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
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Langchain.js | Langchain | * | 0.3.37 (excluding) |
| Langchain.js | Langchain | 1.0.0 (including) | 1.2.3 (excluding) |
| Langchain/core | Langchain | * | 0.3.80 (excluding) |
| Langchain/core | Langchain | 1.0.0 (including) | 1.1.8 (excluding) |