CVE-2025-46725
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Langroid is a Python framework to build large language model (LLM)-powered applications. Prior to version 0.53.15, LanceDocChatAgent uses pandas eval() through compute_from_docs(). As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc]) compromising the host system. Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Langroid is a Python framework to build large language model (LLM)-powered applications. Prior to version 0.53.15, LanceDocChatAgent uses pandas eval() through compute_from_docs(). As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc]) compromising the host system. Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
CVE-2025-46725- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Weakness
- CWE-94
- Updated
- 2026-11-02
EUVDEUVD-2025-15951
8.1
Langroid is a Python framework to build large language model (LLM)-powered applications. Prior to version 0.53.15, LanceDocChatAgent uses pandas eval() through compute_from_docs(). As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc]) compromising the host system. Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
EUVD-2025-15951- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-22c2-9gwg-mj59
8.1
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Summary
LanceDocChatAgent uses pandas eval() through compute_from_docs():
https://github.com/langroid/langroid/blob/18667ec7e971efc242505196f6518eb19a0abc1c/langroid/vector_store/base.py#L136-L150
As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc compromising the host system.
Fix
Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
GHSA-22c2-9gwg-mj59- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Weakness
- CWE-94
- Updated
- 2026-11-02
NVD
8.1
Langroid is a Python framework to build large language model (LLM)-powered applications. Prior to version 0.53.15, LanceDocChatAgent uses pandas eval() through compute_from_docs(). As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc]) compromising the host system. Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
CVE-2025-46725- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94
- Updated
- 2026-11-02
OSV
8.1
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Langroid is a Python framework to build large language model (LLM)-powered applications. Prior to version 0.53.15, LanceDocChatAgent uses pandas eval() through compute_from_docs(). As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc]) compromising the host system. Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
CVE-2025-46725- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Weakness
- CWE-94
- Updated
- 2026-11-02
OSVGHSA-22c2-9gwg-mj59
8.1
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Summary
LanceDocChatAgent uses pandas eval() through compute_from_docs():
https://github.com/langroid/langroid/blob/18667ec7e971efc242505196f6518eb19a0abc1c/langroid/vector_store/base.py#L136-L150
As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc compromising the host system.
Fix
Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
GHSA-22c2-9gwg-mj59- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Weakness
- CWE-94
- Updated
- 2026-11-02
OSVPYSEC-2026-1531
8.1
Langroid has a Code Injection vulnerability in LanceDocChatAgent through vector_store
Summary
LanceDocChatAgent uses pandas eval() through compute_from_docs():
https://github.com/langroid/langroid/blob/18667ec7e971efc242505196f6518eb19a0abc1c/langroid/vector_store/base.py#L136-L150
As a result, an attacker may be able to make the agent run malicious commands through QueryPlan.dataframe_calc compromising the host system.
Fix
Langroid 0.53.15 sanitizes input to the affected function by default to tackle the most common attack vectors, and added several warnings about the risky behavior in the project documentation.
- Record
PYSEC-2026-1531- CVSS 4.0
- 8.1 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
langroidPyPI |
before 0.53.15 | 0.53.15 |
langroidPyPI |
before 0.53.15, plus listed versions 0.1.1000.1.1010.1.1020.1.1030.1.104 Show 45 moreShow less0.1.1050.1.1060.1.1070.1.1080.1.1090.1.110.1.1100.1.1110.1.1120.1.1130.1.1140.1.1170.1.1180.1.1190.1.120.1.1200.1.1210.1.1220.1.1230.1.1240.1.1250.1.1260.1.1270.1.1280.1.1290.1.130.1.1300.1.1310.1.1320.1.1330.1.1340.1.1350.1.1360.1.1370.1.1380.1.1390.1.1400.1.1410.1.1420.1.1430.1.1440.1.1450.1.1470.1.1480.1.149 |
0.53.15 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-46725 is a high vulnerability (CVSS 8.1) in Langroid, published May 20, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in langroid 0.53.15.
References
github.com/langroid/langroid/security/advisories/GHSA-22c2-9gwg-mj59
github.com/langroid/langroid/commit/0d9e4a7bb3ae2eef8d38f2e970ff916599a2b2a6
nvd.nist.gov/vuln/detail/CVE-2025-46725
github.com/advisories/GHSA-22c2-9gwg-mj59
github.com/CVEProject/cvelistV5/tree/main/cves/2025/46xxx/CVE-2025-46725.json
github.com/langroid/langroid
pypi.org/project/langroid
Left out here: 398 versions. The JSON record has them.