Langroid: Sandbox Escape to Remote Code Execution via Incomplete `eval()` Mitigation in TableChatAgent
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| langroid | langroid | before 0.65.2 | 0.65.2 | Patch available | CNA |
| — | langroid (PyPI) | before 0.65.2 | 0.65.2 | Patch available | GHSA-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
Remediation
- Fix · CNA langroid (langroid) Fixed in 0.65.2
- Fix · GHSA-q9p7-wqxg-mrhc langroid (PyPI) Fixed in 0.65.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54769
- 2026-10-03 Alias added: GHSA-q9p7-wqxg-mrhc
References
More langroid vulnerabilities
- 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
Sources
- CVE-2026-54769 · CVE Program
- CVE-2026-54769 · NVD
- FIRST EPSS
- GHSA-q9p7-wqxg-mrhc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences