Skip to main content

PraisonAI EUVDEUVD-2026-108874

| CVE-2026-56833 HIGH
Path Traversal (CWE-22)
2026-10-23 GitHub_M GHSA-22cj-m4wf-fv2c PYSEC-2026-3499
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed PraisonAI Dynamic Context tool surface
  2. Delivery
    Call history/terminal tool with crafted run_id and agent_id
  3. Exploit
    Absolute path or ../ escapes configured base_dir
  4. Execution
    Tool reads .jsonl/.log outside storage
  5. Impact
    Disclose secrets, credentials, and prior context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the deployed application expose PraisonAI's Dynamic Context agent-callable tool factories - create_history_tools() (history_search/history_tail/history_get) or create_terminal_tools() (terminal_tail/terminal_grep/terminal_commands) - to a lower-trust prompt or caller that can supply the run_id and agent_id tool arguments. The attacker must set run_id to an absolute path or include ../ traversal in agent_id, and the target file must be reachable with the tool-imposed suffix (.jsonl for history tools, .log for terminal tools) and readable by the PraisonAI process. Limiting factors: impact is read-only (confidentiality only); only files ending in .jsonl/.log are disclosable; the vulnerability is only reachable if an operator has wired these tools into an untrusted agent surface (not an automatic default of merely installing the package); affected versions are 3.8.1 through 4.6.58 only.

Impact

The input CVSS of 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) reflects a network-reachable, low-complexity, unauthenticated read-only disclosure, which is directionally reasonable but conditional: the 'network' and 'no privileges' assumptions only hold when a PraisonAI application actually wires the Dynamic Context history/terminal tool factories (create_history_tools/create_terminal_tools) into an exposed, lower-trust agent chat/API surface - the advisory itself notes deployments requiring authenticated access should score PR:L. No EPSS score is provided and the CVE is not listed in CISA KEV, so there is no evidence of active exploitation; the exploitation signal rests on the vuln.today 'this_week' decision label and a vendor-supplied local proof-of-value. The GHSA advisory includes a detailed local PoV with recorded output, but it is a local filesystem-boundary demonstration (it 'does not start a server, contact a third-party target, or use real credentials'), not a verified remote weaponized exploit against a live deployment. Net: this is a credible, well-documented CWE-22 confidentiality issue worth near-term patching for anyone exposing these tools to untrusted prompts, but it is not a mass-exploited internet-wide emergency - real-world risk hinges almost entirely on whether an operator exposes the Dynamic Context tools to lower-trust callers, which is a deployment choice rather than a default guaranteed by the library.

Exploit ScenarioDerived

A PraisonAI application exposes the Dynamic Context history/terminal agent tools to a public or lower-trust chat endpoint. An attacker interacting with that agent supplies a crafted run_id (an absolute path) and agent_id (containing ../) as tool arguments, causing history_tail/history_get or terminal_tail/terminal_grep to resolve to and read .jsonl/.log files outside the configured base directory - potentially disclosing conversation history, terminal output, command logs, tokens, or cloud credentials. A local PoV in the GHSA advisory confirms the path-containment bypass against PyPI 4.6.58, but it is a local demonstration, not a verified remote exploit.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Path traversal in PraisonAI's Dynamic Context module lets a caller of the exported agent tools (history_search/history_tail/history_get and terminal_tail/terminal_grep/terminal_commands) supply a run_id that is an absolute path, or an agent_id containing '../', so that the underlying HistoryStore and TerminalLogger build file paths that resolve outside the configured base directory. Versions 3.8.1 through 4.6.58 are affected; the flaw is confidentiality-only and constrained, since readable targets must carry the tool-imposed suffix (.jsonl for history tools, .log for terminal tools) and be readable by the PraisonAI process. The vendor has released 4.6.59, no CISA KEV entry or confirmed active exploitation is reported, and the advisory ships only a local proof-of-value harness that exercises the traversal against an installed package - a public PoC reference exists; it is not verified as remote working exploit code.

RemediationAI

Vendor-released patch: upgrade praisonai to 4.6.59, which introduces containment validation for Dynamic Context paths; the advisory's recommended fix treats run_id and agent_id as logical identifiers only, rejecting absolute paths, separators and traversal components, and additionally resolves each candidate and rejects anything not under base_dir.resolve() across history append/read/search/clear/export and terminal log/read/search/clear/export. If upgrading immediately is not possible, stop wiring create_history_tools() and create_terminal_tools() into any prompt, chat or API surface reachable by lower-trust users - the trade-off is that agents lose history search/tail and terminal log inspection entirely - and as a partial control, run the PraisonAI process under an account whose read access excludes sensitive .jsonl and .log files, acknowledging that this only narrows which suffixed files can be disclosed and does not fix the traversal. Where these tools must stay exposed, restrict callers to trusted operators until 4.6.59 is deployed. See https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-22cj-m4wf-fv2c for the full fix guidance.

Affected VersionsENISA

PraisonAI 3.8.1, < 4.6.59

Affected Packages

pypi praisonai fix: 4.6.59

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-22 (path traversal) in the filesystem-backed storage layer of PraisonAI's Dynamic Context feature, which persists conversation history and terminal session logs as per-run, per-agent files. HistoryStore._get_history_path() computes base_dir / run_id / 'history' / f'{agent_id}.jsonl' and TerminalLogger._get_log_path() computes base_dir / run_id / 'terminal' / f'{agent_id}.log'; both treat logical identifiers as path segments without rejecting absolute paths, path separators or '..' components, and neither validates that the resolved candidate stays beneath self.base_dir.resolve() (no relative_to() containment check). The agent-callable tool factories pass caller-supplied run_id and agent_id straight through, so an absolute run_id relocates the lookup root and a '../' sequence in agent_id escapes it. The advisory also maps this to CWE-200 (exposure of sensitive information): disclosed .jsonl/.log files may contain conversation history, prompts, terminal output, tokens, API keys and cloud credentials. Exposure is conditional on an application wiring these tool factories into a lower-trust prompt or chat/API surface; installing the package alone does not expose the tools. The trigger is a crafted tool argument, not a memory-safety condition - the advisory demonstrates it with a local proof-of-value harness against praisonai 4.6.58.

Know when Praisonai gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Network-exposed agent tool accepting attacker-chosen run_id/agent_id gives AV:N/AC:L/PR:N/UI:N; read-only file disclosure of secret-bearing logs gives C:H, I:N, A:N; PR:L applies if the agent surface requires authentication.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

PraisonAI is a multi-agent teams system. From version 3.8.1 to before version 4.6.59, PraisonAI's Dynamic Context module provides filesystem-backed history and terminal-log storage. The module also exports agent-callable tool factories. Those tools accept run_id and agent_id arguments from the tool caller. The underlying stores join those values into filesystem paths without rejecting absolute paths or .. traversal. Because run_id can be an absolute path and agent_id can contain traversal, a lower-trust prompt/user that can call these tools can read .jsonl and .log files outside the configured Dynamic Context base directory. This issue has been patched in version 4.6.59.

Technical POC Analysis

CWE-22 (Path Traversal), with the advisory also tagging CWE-200.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

PraisonAI versions 3.8.1 through 4.6.58 contain a high-severity path traversal flaw that could allow attackers to read sensitive files accessible to the AI agent's process. This affects any organization using PraisonAI for agent-based automation, potentially exposing configuration data, logs, or other confidential information. While no active exploitation has been observed, the availability of a public proof-of-concept and the ease of exploitation warrant immediate remediation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche open-source multi-agent framework, modest pip footprint, not enterprise-ubiquitous
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2026-61447 CRITICAL POC
10.0 Jul 11

Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-61439 HIGH POC
8.7 Jul 11

System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-61429 HIGH POC
8.4 Jul 11

Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy