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
Attack Parameters
Impact Assessment
CVSS Vector v3.1
Weakness Type (CWE)
Vulnerable Products 4
| Configuration | From (including) | Up to (excluding) |
|---|---|---|
|
Langchain Langchain.Js
cpe:2.3:a:langchain:langchain.js:*:*:*:*:*:*:*:*
|
— |
0.3.37
|
|
Langchain Langchain.Js
cpe:2.3:a:langchain:langchain.js:*:*:*:*:*:*:*:*
|
1.0.0
|
1.2.3
|
|
Langchain Langchain\/Core
cpe:2.3:a:langchain:langchain\/core:*:*:*:*:*:node.js:*:*
|
— |
0.3.80
|
|
Langchain Langchain\/Core
cpe:2.3:a:langchain:langchain\/core:*:*:*:*:*:node.js:*:*
|
1.0.0
|
1.1.8
|