Skip to main content

PraisonAI CVE-2026-60089

| EUVDEUVD-2026-42895 MEDIUM
Path Traversal (CWE-22)
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Attacker embeds malicious output_file path in repo's .praisonai/config.toml
  2. Delivery
    Developer clones repository to local workstation
  3. Exploit
    PraisonAI auto-loads config.toml on Agent construction without path validation
  4. Execution
    Developer calls agent.start() omitting explicit output parameter
  5. Persist
    PraisonAI resolves traversal path and creates parent directories
  6. Impact
    Agent LLM response written to attacker-specified path outside project root

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

The attacker must control a repository cloned by the victim, and that repository must contain a .praisonai/config.toml file with defaults.output.output_file set to an absolute path (e.g., /home/user/.bashrc) or a directory traversal sequence (e.g., ../../sensitive-file). The victim must construct a PraisonAI Agent object while in or referencing that project directory, and must call agent.start() without explicitly supplying an output parameter - callers that pass output directly are not affected. Exploitation is bounded by the filesystem permissions of the user running PraisonAI; overwriting system-owned files requires the process to run as root, which is not a default condition. The attack does not require any network access to a PraisonAI service, any account or credentials on the victim system, or installation of a malicious Python package - only that the victim clones and invokes a PraisonAI-based project from an untrusted source.

Impact

The vendor-assigned CVSS 4.0 score of 6.9 and local attack vector (AV:L) accurately reflect the supply-chain nature of this flaw - the attacker's 'access' is limited to pushing a malicious config into a repository that a developer then clones and uses. However, the vendor's CVSS 4.0 impact metrics (VC:H/VI:N/VA:N) appear inconsistent with the described impact: the vulnerability's primary effect is writing arbitrary content to attacker-chosen paths, which is a high-integrity violation (VI should be H, not N); the VC:H rating is not supported by the provided description and likely reflects a scoring error - security teams should treat this as a high-integrity-impact flaw rather than a confidentiality one. No EPSS score or CISA KEV listing is present in the available intelligence, so neither exploitation probability nor confirmed active exploitation can be quantified. AC:L and AT:N correctly indicate that no race condition or specialized configuration is needed beyond the cloned repository containing the malicious config file. The practical risk is concentrated among developers and CI/CD pipelines that clone and execute PraisonAI projects from untrusted or lightly-reviewed sources; organizations that build internal tooling on top of PraisonAI and process community-contributed agent projects are the highest-risk cohort.

Exploit ScenarioDerived

An attacker publishes a public AI agent project repository containing a .praisonai/config.toml that sets defaults.output.output_file to ../../.ssh/authorized_keys. A developer clones the repository to experiment with the agent prompts and runs the provided example script, which constructs an Agent and calls agent.start() without specifying an output parameter; PraisonAI silently resolves the traversal path and overwrites the developer's SSH authorized keys with the LLM-generated agent response, enabling subsequent attacker SSH access if the attacker's key is embedded in the agent prompt. No public exploit code has been identified, but the attack is trivially reproducible from the public advisory description alone.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 10, 2026

Path traversal in PraisonAI (pip package praisonaiagents) before version 1.6.78 allows an untrusted checked-out repository to overwrite arbitrary files on a developer's machine by embedding a malicious .praisonai/config.toml that sets defaults.output.output_file to an absolute or directory-traversal path. When the developer subsequently constructs an Agent and calls agent.start() without an explicit output parameter, PraisonAI resolves the attacker-supplied path - creating parent directories as needed - and writes agent output there with the privileges of the running user. No public exploit code or CISA KEV listing has been identified; a vendor patch at version 1.6.78 and an upstream fix commit are available per GitHub Security Advisory GHSA-qjw5-xwrp-xwpq.

RemediationAI

Upgrade to praisonaiagents version 1.6.78 or later via pip install --upgrade praisonaiagents; the upstream fix is documented in commit 3aa9cbc2bd49c23a32be0a89a5e620d13d843eab (https://github.com/MervinPraison/PraisonAI/commit/3aa9cbc2bd49c23a32be0a89a5e620d13d843eab) and the full advisory is at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-qjw5-xwrp-xwpq. As a compensating control before patching, inspect any .praisonai/config.toml present in a project directory before invoking PraisonAI, specifically auditing the defaults.output.output_file key for absolute paths or .. segments; deleting or blanking this key eliminates the attack surface with no impact on callers that pass output explicitly to agent.start(). For CI/CD pipelines that process untrusted repositories, run PraisonAI inside a container or VM with a restricted filesystem view - mounting only the project directory and denying writes to paths outside it - which constrains the blast radius of any traversal attempt to within the sandbox.

Affected VersionsENISA

PraisonAI 0 <1.6.78

Affected Packages

pypi praisonaiagents fix: 1.6.78
euvd praisonai fix: 1.6.78

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

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

Technical ContextAI · show details

PraisonAI is a Python-based AI agent orchestration framework distributed as the praisonaiagents pip package (CPE cpe:2.3:a:mervinpraison:praisonai:*:*:*:*:*:*:*:*). The framework automatically discovers and loads defaults from a project-local .praisonai/config.toml file at Agent construction time. The root cause is CWE-22 (Path Traversal): the defaults.output.output_file configuration key is accepted verbatim without canonicalization or confinement to the project directory. The framework resolves whatever path the config specifies - including absolute paths such as /etc/cron.d/backdoor or traversal sequences such as ../../.ssh/authorized_keys - and writes the LLM agent response there when agent.start() is called without an overriding output argument. The automatic creation of parent directories further amplifies the primitive to include arbitrary directory creation. The attack is a supply-chain trust boundary violation: the .praisonai/config.toml file is expected to be project-controlled, but the framework does not distinguish between developer-authored and attacker-supplied project files when resolving output paths.

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 (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.3 MEDIUM

AV:L and PR:N because attacker influence is via a cloned repo config; UI:R since victim must run agent.start(); S:C and I:H for cross-boundary arbitrary file write; C:N as no confidentiality impact is described.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

PraisonAI (pip package praisonaiagents) before 1.6.78 automatically loads defaults from a project-local .praisonai/config.toml when constructing an Agent, and does not validate the defaults.output.output_file path. A repository-controlled config file can set output_file to an absolute or '..' traversal path; when the developer subsequently calls agent.start() without explicitly passing an output parameter, PraisonAI writes the agent response to that path (creating parent directories as needed), allowing an untrusted checked-out project to overwrite files outside the project root with the privileges of the user running PraisonAI.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche Python AI agent framework, limited enterprise production footprint
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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