---
id: CVE-2025-46725
aliases:
  - GHSA-22c2-9gwg-mj59
  - PYSEC-2026-1531
title: >-
  Langroid has a Code Injection vulnerability in LanceDocChatAgent through
  vector_store
summary: >-
  Langroid has a Code Injection vulnerability in LanceDocChatAgent through
  vector_store
severity: high
vendor: langroid
product: langroid
ecosystem: pip
affected:
  - langroid < 0.53.15
patched:
  - langroid 0.53.15
published: '2025-05-20'
updated: '2026-07-07'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-22c2-9gwg-mj59'
references:
  - url: >-
      https://github.com/langroid/langroid/security/advisories/GHSA-22c2-9gwg-mj59
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2025-46725'
  - url: >-
      https://github.com/langroid/langroid/commit/0d9e4a7bb3ae2eef8d38f2e970ff916599a2b2a6
  - url: 'https://github.com/langroid/langroid'
tags:
  - osv
  - pip
epss: 0.00531
epssPercentile: 0.42413
ingestedAt: '2026-07-08T18:25:44.099Z'
---

## Overview

### Summary
[LanceDocChatAgent](https://github.com/langroid/langroid/blob/main/langroid/agent/special/lance_doc_chat_agent.py#L158) 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](https://github.com/langroid/langroid/blob/main/langroid/agent/special/lance_tools.py#L16) 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.

## Affected packages

- `langroid < 0.53.15`

## Remediation

Upgrade to a patched release:

- `langroid 0.53.15`
