Read the docs
TI-2026-39575 Aliases CVE-2026-54769GHSA-q9p7-wqxg-mrhc

Langroid: Sandbox Escape to Remote Code Execution via Incomplete `eval()` Mitigation in TableChatAgent

Priority HIGH 82CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.

Summary

Langroid is a framework for building large-language-model-powered applications. Versions prior to 0.65.2 are vulnerable to a critical Sandbox Escape leading to Remote Code Execution (RCE) in its `TableChatAgent` and `VectorStore` capabilities. When these agents evaluate LLM-generated tool messages with `full_eval=True`, they attempt to sandbox the execution by explicitly setting `locals` to an empty dictionary `{}` inside Python's `eval()` function. However, this relies on an incomplete understanding of Python's execution model. Because `__builtins__` is not explicitly scrubbed from the `globals` dictionary mapping, Python implicitly injects all built-ins during execution, granting full access to functions like `__import__('os').system()`. Since `TableChatAgent.pandas_eval()` executes external LLM outputs natively, this bypass permits any attacker providing prompt payload to achieve unauthenticated RCE on the host system. Version 0.65.2 patches the issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00912 60th percentileScored 2026-11-07
Fix Fixed langroid (langroid): 0.65.2langroid (PyPI): 0.65.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
langroidlangroidbefore 0.65.20.65.2Patch availableCNA
—langroid (PyPI)before 0.65.20.65.2Patch availableGHSA-q9p7-wqxg-mrhc
  • langroid Vendorlangroid Affected before 0.65.2 Fixed in 0.65.2 Patch available CNA
  • langroid (PyPI) Vendor— Affected before 0.65.2 Fixed in 0.65.2 Patch available GHSA-q9p7-wqxg-mrhc

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:langroid:langroid:*:*:*:*:*:*:*:*——langroid
  • cpe:2.3:a:langroid:langroid:*:*:*:*:*:*:*:* Versions — — ·langroid

Remediation

  • Fix · CNA langroid (langroid) Fixed in 0.65.2
  • Fix · GHSA-q9p7-wqxg-mrhc langroid (PyPI) Fixed in 0.65.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54769
  2. 2026-10-03 Alias added: GHSA-q9p7-wqxg-mrhc

References

  • TI-2026-20919 Langroid has Prompt to SQL Injection, Leading to RCE CVSS 3.1CRITICAL 9.8
  • TI-2026-20592 Langroid has WAF Bypass Leading to RCE in TableChatAgent CVSS 4.0CRITICAL 9.4
  • TI-2025-29395 Langroid has a Code Injection vulnerability in TableChatAgent CVSS 3.1CRITICAL 9.8
  • TI-2026-40145 Injection in langroid CVSS 4.0CRITICAL 9.2
  • TI-2026-39566 Langroid: SQLChatAgent dangerous-function blocklist can be bypassed with quoted or schema-qualified pg_read_file calls CVSS 4.0CRITICAL 9.3
  • TI-2025-29397 Langroid Vulnerable to XXE Injection via XMLToolMessage CVSS 4.0HIGH 7.8
See all 10 →

Sources