CVE Vulnerabilities

CVE-2025-68664

Deserialization of Untrusted Data

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

LangChain is a framework for building agents and LLM-powered applications. Prior to versions 0.3.81 and 1.2.5, a serialization injection vulnerability exists in LangChains dumps() and dumpd() functions. The functions do not escape dictionaries with lc keys when serializing free-form dictionaries. 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 versions 0.3.81 and 1.2.5.

Weakness

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

Affected Software

NameVendorStart VersionEnd Version
Langchain_coreLangchain*0.3.81 (excluding)
Langchain_coreLangchain1.0.0 (including)1.2.5 (excluding)
Red Hat Ansible Automation Platform 2.4RedHatansible-automation-platform-24/lightspeed-rhel8:sha256:0bb8228df7b60eb4bb4380fab098600ce5016702ca28972f5f94849bb87754d4*
Red Hat Ansible Automation Platform 2.5RedHatansible-automation-platform-25/lightspeed-chatbot-rhel8:sha256:49c8b12b5bf512bec9505f14b3bc10c9fb83de61315685cf837625a25e403644*
Red Hat Ansible Automation Platform 2.5RedHatansible-automation-platform-25/lightspeed-rhel8:sha256:e6c22160bf1ff6a6b4bd8c1ec2c5f2a35d3eafe7eba813574f05565aa4132e34*
Red Hat Ansible Automation Platform 2.6RedHatansible-automation-platform-26/lightspeed-rhel9:sha256:5c3edace72ef307d1ae7b36a3418dfca5e37087bfaf4252be49ffdf120205163*

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