What’s Vulnerable › Vulnerabilities
CVE-2026-25481: Langroid has WAF Bypass Leading to RCE in TableChatAgent
- Severity: critical (CVSS 9.6 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.7% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-02-04 · updated 2026-06-17
- Weakness: CWE-94
Description
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.59.32, there is a bypass to the fix for CVE-2025-46724. TableChatAgent can call pandas_eval tool to evaluate the expression. There is a WAF in langroid/utils/pandas_utils.py introduced to block code injection CVE-2025-46724. However it can be bypassed due to _literal_ok() returning False instead of raising UnsafeCommandError on invalid input, combined with unrestricted access to dangerous dunder attributes (__init__, __globals__, __builtins__). This allows chaining whitelisted DataFrame methods to leak the eval builtin and execute arbitrary code. This issue has been patched in version 0.59.32.
Affected products
- langroid: before 0.59.32 — fixed in 0.59.32
How to fix
Upgrade to a fixed version: langroid 0.59.32. Check the vendor advisory for mitigations.
References
- https://github.com/langroid/langroid/commit/30abbc1a854dee22fbd2f8b2f575dfdabdb603ea
- https://github.com/langroid/langroid/security/advisories/GHSA-jqq5-wc57-f8hj
- https://github.com/langroid/langroid/security/advisories/GHSA-x34r-63hx-w57f
Get alerted when CVE-2026-25481 or the next vulnerability affects your stack