Skip to main content

PraisonAI CVE-2026-60089

| EUVDEUVD-2026-42895 MEDIUM
Path Traversal (CWE-22)
2026-07-10 VulnCheck GHSA-rrqj-82cc-g6h4
6.9
CVSS 4.0 · Vendor: VulnCheck
Share

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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

1
Analysis Generated
Jul 10, 2026 - 15:59 vuln.today

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.

AnalysisAI

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.

Technical ContextAI

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.

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.

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-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-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

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

CVE-2026-55535 MEDIUM POC
6.8 Aug 25

Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl

Share

CVE-2026-60089 vulnerability details – vuln.today

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