<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 02:07:49 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-68664 — LangChain serialization injection vulnerability enables secret extraction in dumps/loads APIs</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-68664</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; langchain-ai langchain&lt;/p&gt;
&lt;p&gt;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 LangChain&amp;#39;s dumps() and dumpd() functions. The functions do not escape dictionaries with &amp;#39;lc&amp;#39; keys when serializing free-form dictionaries. The &amp;#39;lc&amp;#39; 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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; langchain-ai langchain&lt;/p&gt;
&lt;p&gt;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 LangChain&amp;#39;s dumps() and dumpd() functions. The functions do not escape dictionaries with &amp;#39;lc&amp;#39; keys when serializing free-form dictionaries. The &amp;#39;lc&amp;#39; 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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-68664</guid>
    </item>
    <item>
      <title>GHSA-c67j-w6g6-q2cm — LangChain serialization injection vulnerability enables secret extraction in dumps/loads APIs</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-c67j-w6g6-q2cm</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langchain-core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A serialization injection vulnerability exists in LangChain&amp;#39;s `dumps()` and `dumpd()` functions. The functions do not escape dictionaries with `&amp;#39;lc&amp;#39;` keys when serializing free-form dictionaries. The `&amp;#39;lc&amp;#39;` 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.&lt;/p&gt;
&lt;p&gt;### Attack surface&lt;/p&gt;
&lt;p&gt;The core vulnerability was in `dumps()` and `dumpd()`: these functions failed to escape user-controlled dictionaries containing `&amp;#39;lc&amp;#39;` keys. When this unescaped data was later deserialized via `load()` or `loads()`, the injected structures were treated as legitimate LangChain objects rather than plain user data.&lt;/p&gt;
&lt;p&gt;This escaping bug enabled several attack vectors:&lt;/p&gt;
&lt;p&gt;1. **Injection via user data**: Malicious LangChain object structures could be injected through user-controlled fields like `metadata`, `additional_kwargs`, or `response_metadata`
2. **Class instantiation within trusted namespaces**: Injected manifests could instantiate any `Serializable` subclass, but only within the pre-approved trusted namespaces (`langchain_core`, `langchain`, `langchain_community`). This includes classes with side effects in `__init__` (network calls, file operations, etc.). Note that namespace validation was already enforced before this patch, so arbitrary classes outside these trusted namespaces could not be instantiated.&lt;/p&gt;
&lt;p&gt;### Security hardeni…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langchain-core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A serialization injection vulnerability exists in LangChain&amp;#39;s `dumps()` and `dumpd()` functions. The functions do not escape dictionaries with `&amp;#39;lc&amp;#39;` keys when serializing free-form dictionaries. The `&amp;#39;lc&amp;#39;` 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.&lt;/p&gt;
&lt;p&gt;### Attack surface&lt;/p&gt;
&lt;p&gt;The core vulnerability was in `dumps()` and `dumpd()`: these functions failed to escape user-controlled dictionaries containing `&amp;#39;lc&amp;#39;` keys. When this unescaped data was later deserialized via `load()` or `loads()`, the injected structures were treated as legitimate LangChain objects rather than plain user data.&lt;/p&gt;
&lt;p&gt;This escaping bug enabled several attack vectors:&lt;/p&gt;
&lt;p&gt;1. **Injection via user data**: Malicious LangChain object structures could be injected through user-controlled fields like `metadata`, `additional_kwargs`, or `response_metadata`
2. **Class instantiation within trusted namespaces**: Injected manifests could instantiate any `Serializable` subclass, but only within the pre-approved trusted namespaces (`langchain_core`, `langchain`, `langchain_community`). This includes classes with side effects in `__init__` (network calls, file operations, etc.). Note that namespace validation was already enforced before this patch, so arbitrary classes outside these trusted namespaces could not be instantiated.&lt;/p&gt;
&lt;p&gt;### Security hardeni…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-c67j-w6g6-q2cm</guid>
    </item>
    <item>
      <title>PYSEC-2026-373 — LangChain serialization injection vulnerability enables secret extraction in dumps/loads APIs</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-373</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langchain-core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A serialization injection vulnerability exists in LangChain&amp;#39;s `dumps()` and `dumpd()` functions. The functions do not escape dictionaries with `&amp;#39;lc&amp;#39;` keys when serializing free-form dictionaries. The `&amp;#39;lc&amp;#39;` 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.&lt;/p&gt;
&lt;p&gt;### Attack surface&lt;/p&gt;
&lt;p&gt;The core vulnerability was in `dumps()` and `dumpd()`: these functions failed to escape user-controlled dictionaries containing `&amp;#39;lc&amp;#39;` keys. When this unescaped data was later deserialized via `load()` or `loads()`, the injected structures were treated as legitimate LangChain objects rather than plain user data.&lt;/p&gt;
&lt;p&gt;This escaping bug enabled several attack vectors:
 
1. **Injection via user data**: Malicious LangChain object structures could be injected through user-controlled fields like `metadata`, `additional_kwargs`, or `response_metadata`
2. **Class instantiation within trusted namespaces**: Injected manifests could instantiate any `Serializable` subclass, but only within the pre-approved trusted namespaces (`langchain_core`, `langchain`, `langchain_community`). This includes classes with side effects in `__init__` (network calls, file operations, etc.). Note that namespace validation was already enforced before this patch, so arbitrary classes outside these trusted namespaces could not be instantiated.&lt;/p&gt;
&lt;p&gt;### Security harde…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langchain-core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A serialization injection vulnerability exists in LangChain&amp;#39;s `dumps()` and `dumpd()` functions. The functions do not escape dictionaries with `&amp;#39;lc&amp;#39;` keys when serializing free-form dictionaries. The `&amp;#39;lc&amp;#39;` 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.&lt;/p&gt;
&lt;p&gt;### Attack surface&lt;/p&gt;
&lt;p&gt;The core vulnerability was in `dumps()` and `dumpd()`: these functions failed to escape user-controlled dictionaries containing `&amp;#39;lc&amp;#39;` keys. When this unescaped data was later deserialized via `load()` or `loads()`, the injected structures were treated as legitimate LangChain objects rather than plain user data.&lt;/p&gt;
&lt;p&gt;This escaping bug enabled several attack vectors:
 
1. **Injection via user data**: Malicious LangChain object structures could be injected through user-controlled fields like `metadata`, `additional_kwargs`, or `response_metadata`
2. **Class instantiation within trusted namespaces**: Injected manifests could instantiate any `Serializable` subclass, but only within the pre-approved trusted namespaces (`langchain_core`, `langchain`, `langchain_community`). This includes classes with side effects in `__init__` (network calls, file operations, etc.). Note that namespace validation was already enforced before this patch, so arbitrary classes outside these trusted namespaces could not be instantiated.&lt;/p&gt;
&lt;p&gt;### Security harde…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-373</guid>
    </item>
  </channel>
</rss>
