PraisonAI before 1.6.78 Path Traversal via config.toml
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| MervinPraison | PraisonAI | before 1.6.78 | 1.6.78 | Patch available | CNA |
| — | praisonaiagents (PyPI) | before 1.6.78 | 1.6.78 | Patch available | GHSA-qjw5-xwrp-xwpq |
- PraisonAI VendorMervinPraison Affected before 1.6.78 Fixed in 1.6.78 Patch available CNA
- praisonaiagents (PyPI) Vendor— Affected before 1.6.78 Fixed in 1.6.78 Patch available GHSA-qjw5-xwrp-xwpq
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* | — | — | MervinPraison |
- cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* Versions — — ·MervinPraison
Remediation
- Fix · CNA PraisonAI (MervinPraison) Fixed in 1.6.78
- Fix · GHSA-qjw5-xwrp-xwpq praisonaiagents (PyPI) Fixed in 1.6.78 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
MervinPraison PraisonAI 1.6.78
3 records Highest priority Priority HIGH 1 HIGH, 2 MEDIUM
Other records, highest priority first
- TI-2026-44042 PraisonAI before 1.6.78 Remote Code Execution via tools.pyPriority HIGH 72
- TI-2026-44037 PraisonAI FastContext before 1.6.78 Path TraversalPriority MEDIUM 64
Timeline
- 2026-10-02 Threatist record created from CVE-2026-60089
- 2026-10-03 Alias added: GHSA-rrqj-82cc-g6h4
- 2026-10-08 Alias added: GHSA-qjw5-xwrp-xwpq
- 2026-10-08 Fix available: PyPI/[email protected] · GHSA-qjw5-xwrp-xwpq
- 2026-10-08 CVSS score added · GHSA-qjw5-xwrp-xwpq
- 2026-10-08 Weakness changed · GHSA-qjw5-xwrp-xwpq
- 2026-10-08 4 new references · GHSA-qjw5-xwrp-xwpq
References
More MervinPraison vulnerabilities
- TI-2026-79619 Missing authentication in PraisonAI AgentOS exposes agent chat CVSS 3.1CRITICAL 9.8
- TI-2026-71236 Missing access control in PraisonAI AgentTeam exposes agent endpoints CVSS 3.1CRITICAL 9.8
- TI-2026-44052 PraisonAI before 1.6.78 Remote Code Execution via CodeAgent CVSS 4.0CRITICAL 10.0
- TI-2026-41123 praisonai-platform 0.1.4 still boots on the hardcoded JWT secret dev-secret-change-me (default-open production guard) CVSS 3.1CRITICAL 9.8
- TI-2026-41122 praisonai-platform: default JWT signing secret 'dev-secret-change-me' enables token forgery CVSS 3.1CRITICAL 9.8
- TI-2026-41118 PraisonAI MCPServer exposes unauthenticated HTTP tools/call CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-60089 · CVE Program
- CVE-2026-60089 · NVD
- FIRST EPSS
- GHSA-qjw5-xwrp-xwpq · GitHub Advisory Database · CC BY 4.0
- GHSA-rrqj-82cc-g6h4 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences