CVE-2026-56834
PraisonAI dynamic-context artifact tools read arbitrary host files outside artifact storage
Summary
PraisonAI's Dynamic Context Discovery feature exposes artifact helper tools
through ctx.get_tools():
ctx = setup_dynamic_context()
agent = Agent(
instructions="You are a data analyst.",
tools=ctx.get_tools(),
hooks=[ctx.get_middleware()],
)
The official documentation describes these helpers as a way for the agent to
explore large tool-output artifacts that were queued by the middleware:
- large tool outputs are saved as artifacts;
- the agent receives compact artifact references; and
- the agent uses artifact_tail and artifact_grep to explore that data.
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.
Affected Product
- Repository: MervinPraison/PraisonAI
- Ecosystem: pip
- Package: praisonai
- Component: Dynamic Context Discovery artifact tools
- Current source path: src/praisonai/praisonai/context/queue.py
- Artifact store path: src/praisonai/praisonai/context/artifact_store.py
- Latest PyPI version validated: 4.6.58
- Current origin/main validated:
1ad58ca02975ff1398efeda694ea2ab78f20cf3e
- Current origin/main tag validated: v4.6.58
Suggested affected range:
pip:praisonai >= 3.8.1, <= 4.6.58
Representative local sweep:
- 3.8.1: vulnerable
- 4.0.0: vulnerable
- 4.5.113: vulnerable
- 4.6.33: vulnerable
- 4.6.34: vulnerable
- 4.6.40: vulnerable
- 4.6.50: vulnerable
- 4.6.58: vulnerable
Root Cause
create_artifact_tools() creat
⚡ Watch CVE-2026-56834
Get an email if CVE-2026-56834 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.
Advisory coverage (1)
External references
Embed the live status
— this badge updates automatically when the KEV or exploit status changes. How to embed it →
[](https://www.csirts.com/cve/CVE-2026-56834)