CVE-2026-56839
Published:July 20, 2026
Updated:August 27, 2026
PraisonAI Code's agent-compatible "CODE_TOOLS" wrappers keep a global workspace root initialized to "None". If an application uses "CODE_TOOLS", "code_read_file", "code_search_replace", or "code_apply_diff" before calling "set_workspace()", the wrappers pass "workspace=None" into lower-level helpers that only enforce path containment when a workspace is truthy. Absolute paths outside the intended project workspace are then read and modified. The official examples correctly call "set_workspace()" before "CODE_TOOLS", and this report does not claim configured workspaces are ineffective. The issue is the fail-open default. PraisonAI's security documentation describes workspace boundaries as the path-traversal protection mechanism, and the already-published Python API arbitrary file write advisory ("GHSA-hvhp-v2gc-268q") was fixed by defaulting an unset workspace to "os.getcwd()". The adjacent read and edit paths reached through "CODE_TOOLS" still fail open.
Affected Packages
praisonai (PYTHON):
Affected version(s) >=0.0.1 <4.6.59Fix Suggestion:
Update to version 4.6.59Related Resources (5)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.5
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
PASSIVE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
NONE
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
NONE