CVE Vulnerabilities

CVE-2025-68665

Deserialization of Untrusted Data

Published: Dec 23, 2025 | Modified: Jan 13, 2026
CVSS 3.x
9.1
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS 2.x
RedHat/V2
RedHat/V3
8.6 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Ubuntu
root.io logo minimus.io logo echo.ai logo

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

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

NameVendorStart VersionEnd Version
Langchain.jsLangchain*0.3.37 (excluding)
Langchain.jsLangchain1.0.0 (including)1.2.3 (excluding)
Langchain/coreLangchain*0.3.80 (excluding)
Langchain/coreLangchain1.0.0 (including)1.1.8 (excluding)

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References