CVE-2026-54769
CriticalCVSS 10.0Exploitation Probability (EPSS)
Elevated risk56th percentile - higher than 56% of all known CVEs
Summary
Langroid versions prior to 0.65.2 contain a critical sandbox escape vulnerability leading to Remote Code Execution (RCE) in its `TableChatAgent` and `VectorStore` components. When evaluating LLM-generated tool messages with `full_eval=True`, the `eval()` function fails to remove `__builtins__` from the globals dictionary, allowing access to system functions like `__import__('os').system()`. An attacker can exploit this by providing a crafted prompt to achieve unauthenticated RCE on the host.
Risk Assessment
The organization is at risk of complete system compromise by an unauthenticated attacker, potentially leading to data theft, malware installation, or service disruption.
Recommendation
Immediately upgrade Langroid to version 0.65.2 or later. If upgrading is not possible, disable the `full_eval=True` feature in `TableChatAgent` and `VectorStore` components.
Original NVD description (English source)
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.

