GitHub Advisoryadvisory · PyPI

GHSA-p4pj-vh7h-6cqh PraisonAI: Unauthenticated Local File Inclusion via agent_file path in PraisonAI Jobs API

HIGH Published 2026-06-18 Modified 2026-07-20 Official page ↗
Aliases
CVE-2026-57119
Ecosystem
PyPI
Packages
praisonai
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-22
Reviewed
2026-06-18

Affected packages

• PyPI praisonai: < 4.6.59 → fixed in 4.6.59

Description

Summary An unauthenticated attacker can read arbitrary files on the server by supplying an absolute filesystem path in the `agent_file` field of the Jobs API. The field has no path validation, no allowlist, and no authentication is required to submit jobs. Details The `agent_file` field in `JobSubmitRequest` accepts any filesystem path with no validation: ```python src/praisonai/praisonai/jobs/models.py:29 agent_file: Optional[str] = Field(None, description="Path to agents.yaml file") NO path validator, NO allowlist ``` The executor reads the file directly: ```python src/praisonai/praisonai/jobs/executor.py:221 agent_file = job.agent_file or "agents.yaml" passed directly to yaml.safe_load(open(agent_file)) ``` Proof of Concept ```bash curl -X POST http://:8005/api/v1/runs \ -H "Content-Type: application/json" \ -d '{"prompt": "run", "agent_file": "/etc/passwd"}' ``` Server responds with contents of `/etc/passwd`. Other exploitable paths: • `/proc/1/environ` — environment variables, API keys • `/home//.ssh/id_rsa` — SSH private keys • `/app/.env` — application secrets Impact Any unauthenticated attacker with network access to port 8005 can read any file accessible to the server process, including credentials, private keys, and environment variables.

Related

Alias · CVE (1)

  • CVE-2026-57119 PraisonAI is a multi-agent teams system. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References