Cyber Resilience

CVE-2023-36281

CriticalPublic PoCRCE

Published: 22 August 2023

Published
22 August 2023
Modified
21 November 2024
KEV Added
Patch
CVSS Score v3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.6224 98.4th percentile
Risk Priority 57 60% EPSS · 20% KEV · 20% CVSS

Summary

CVE-2023-36281 is a critical-severity Code Injection (CWE-94) vulnerability in Langchain Langchain. Its CVSS base score is 9.8 (Critical).

Operationally, ranked in the top 1.6% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

This vulnerability is AI-related — categorised as NLP and Transformers.

Deeper analysis

LangChain version 0.0.171 contains a code-injection vulnerability (CWE-94) that permits remote arbitrary code execution through the load_prompt function when supplied with a crafted JSON file. The flaw stems from unsafe handling of template or __subclasses__ constructs during prompt deserialization, allowing an attacker to reach Python’s class hierarchy and instantiate dangerous objects.

An unauthenticated network attacker can supply the malicious JSON directly to any application or service that invokes load_prompt on untrusted input. Successful exploitation grants full code execution on the affected host, resulting in complete compromise of confidentiality, integrity, and availability, consistent with the CVSS 9.8 rating.

Public references point to a fix released in LangChain v0.0.312. The associated GitHub issue and security write-up recommend upgrading to the patched version and avoiding deserialization of untrusted prompt files until the update is applied.

The vulnerability affects a widely used LLM orchestration library, and the current EPSS score of 0.62 (with a recorded peak of 0.685) indicates sustained exploitation interest following disclosure.

EU & UK References

Vulnerability details

An issue in langchain v.0.0.171 allows a remote attacker to execute arbitrary code via a JSON file to load_prompt. This is related to __subclasses__ or a template.

CWE(s)

AI Security AnalysisAI

AI Category
NLP and Transformers
Risk Domain
N/A
OWASP Top 10 for LLMs 2025
None mapped
Classification Reason
Matched keywords: langchain

Related Threats

Affected Assets

langchain
langchain
0.0.171

Mitigating Controls

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-94

Makes persistent code injection into loaded programs impossible when the executable image itself resides on hardware-protected read-only media.

addresses: CWE-94

Dynamically generated code can be produced and executed inside the isolated chamber, preventing host compromise from code-injection payloads.

addresses: CWE-94

Validates inputs used in dynamic code generation to block injected directives.

addresses: CWE-94

Directly prevents execution of attacker-supplied code written into data memory regions.

References