CVE-2026-50181 Langroid: Path traversal in the file tools allows read/write outside configured current directory
Attackers can read or write files outside the intended directory via path traversal in Langroid file tools, affecting LLM agent applications.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-50181?
CVE-2026-50181 is a high-severity path traversal vulnerability in langroid, published on 9 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.64.0, Langroid's `ReadFileTool` and `WriteFileTool` appear to treat `curr_dir` as the intended working-directory boundary for file operations. However, the tools only change the process working directory to `curr_dir` and then operate on the user-supplied `file_path` without resolving and enforcing that the final path remains inside `curr_dir`. As a result, a tool caller can supply path traversal sequences such as `../secret.txt` to read files outside the configured current directory, or `../written_by_tool.txt` to write files outside that directory. This can impact applications that expose Langroid file tools to an LLM agent, user-controlled tool call, or delegated coding/documentation agent while relying on `curr_dir` to restrict file access to a project/workspace directory. Version 0.64.0 patches the issue.
Which versions are affected by CVE-2026-50181?
3 open source packages ship an affected version, including langroid.
| Package | Affected | Fixed in |
|---|---|---|
langroid PyPI | All versions | 0.64.0 |
langroid PyPI | All versions | 0.64.0 |
langroid PyPI | All versions | 0.64.0 |
How do I fix CVE-2026-50181?
Upgrade langroid to 0.64.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-50181 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-50181 exists.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as GHSA-fg23-3346-88f5, PYSEC-2026-2578.