---
id: "CVE-2026-56834"
kind: "vulnerability"
aliases: ["CVE-2026-56834"]
title: "PraisonAI: artifact tools read any host file from a caller-supplied path"
severity: "high"
cvss: 7.5
epss: 0.00503
exploited: false
status: "open"
category: "ai-tooling"
products: []
ecosystems: []
tags: ["ai-agents", "ai-tooling", "praisonai", "python"]
not_affected_if: ["patched-version", "tools-not-exposed"]
published_at: "2026-10-23T12:18:14+00:00"
first_seen_at: "2026-10-23T21:57:33+00:00"
updated_at: "2026-10-25T12:38:51+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-56834", "first_seen_at": "2026-10-23T21:57:33+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-56834", "first_seen_at": "2026-10-25T12:38:51+00:00"}]
---

# PraisonAI: artifact tools read any host file from a caller-supplied path

PraisonAI's Dynamic Context Discovery artifact tools (artifact_head, artifact_tail, artifact_grep, artifact_chunk) accept an artifact_path without checking it belongs to the configured artifact store or base directory. An attacker who can influence those tool arguments, for example through a prompt or user input, can read any file the PraisonAI process can read, such as .env files, cloud credentials and SSH keys.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed PraisonAI version with `pip show praisonai` or `pip show praisonaiagents` and confirm whether it is between `3.8.1` and `4.6.59`.
- Check whether the application exposes `ctx.get_tools()` or the artifact_head, artifact_tail, artifact_grep or artifact_chunk tools to a model or user-driven input.

## Fix

- Upgrade PraisonAI to `4.6.59` or later.
- Until upgraded, do not expose the artifact helper tools to untrusted prompts or tool callers.

## Timeline

- 2026-10-23T21:57:33+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-56834
- 2026-10-25T12:38:51+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-56834

## From the sources

PraisonAI is a multi-agent teams system. From version 3.8.1 to before version 4.6.59, PraisonAI's Dynamic Context Discovery feature exposes artifact helper tools through ctx.get_tools(). The implemented artifact tools do not enforce that the supplied artifact_path is an artifact created by the configured store or that it lives under the configured artifact base directory. Instead, artifact_head, artifact_tail, artifact_grep, and artifact_chunk wrap the caller-supplied path directly into an ArtifactRef and then read it from the host filesystem. As a result, any prompt/user/tool-caller that can influence those tool arguments can read files readable by the PraisonAI process, such as project .env files, cloud credentials, SSH keys, source files, or other local data. This issue has been patched in version 4.6.59.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
