CVE-2026-47407: CWE-269: Improper Privilege Management in MervinPraison praisonai-platform
PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Prior to version 0.1.4, the Platform server exposes resources under `/api/v1/workspaces/{workspace_id}/...` and protects them with a `require_workspace_member(workspace_id)` FastAPI dependency. The dependency only checks that the caller is a member of the workspace_id in the URL prefix. The route handlers then look up the inner resource (`agent_id`, `issue_id`, `project_id`, `label_id`, `comment_id`, `dependency_id`) by primary key alone. The resource's own `workspace_id` is never compared to the URL's `workspace_id`. A user can therefore put their own workspace in the URL prefix and any other workspace's resource ID in the path. The auth check passes, since they really are a member of the prefix workspace. The service then returns the cross-tenant resource for read, update, or delete. There is a second bug in the member-management routes (`add_member`, `update_member_role`, `remove_member`, `update_workspace`, `delete_workspace`). Each one inherits the default `min_role="member"` from `require_workspace_member`. Any basic member can therefore promote themselves to admin or owner, demote or remove other members, and delete the workspace. The role hierarchy exists in the schema but is not enforced. Registration is open at `/api/v1/auth/register` with no email verification. The default server bind is `0.0.0.0:8000` (`python -m praisonai_platform`). One curl from any unauthenticated network position is enough to bootstrap into the system. PraisonAI Platform version 0.1.4 patches the issue.
AI Analysis
Technical Summary
The PraisonAI Platform server versions before 0.1.4 expose API endpoints under /api/v1/workspaces/{workspace_id}/ that rely on a FastAPI dependency to check if the caller is a member of the workspace_id in the URL prefix. However, the inner resource identifiers (e.g., agent_id, issue_id) are looked up by primary key without verifying that these resources belong to the workspace in the URL. This flaw allows a user to access resources from other workspaces by specifying their own workspace in the URL prefix and another workspace's resource ID in the path, bypassing authorization. Furthermore, member-management routes inherit a default minimum role of 'member' without enforcing role hierarchy, allowing any member to promote themselves to admin or owner, demote or remove other members, and delete the workspace. The platform's open registration endpoint requires no email verification, facilitating easy unauthorized account creation. The default server binding to 0.0.0.0:8000 exposes the service to unauthenticated network access. These combined issues constitute a critical security vulnerability. The issue is fixed in PraisonAI Platform version 0.1.4.
Potential Impact
An attacker who is a member of any workspace can access, modify, or delete resources belonging to other workspaces by exploiting the improper validation of resource ownership. Additionally, any workspace member can escalate their privileges to admin or owner, allowing them to remove other members, change roles, or delete the entire workspace. The open registration without email verification and default server binding to all network interfaces allows an attacker to easily create accounts and exploit these flaws remotely. This can lead to unauthorized data access, privilege escalation, and workspace destruction.
Mitigation Recommendations
Upgrade PraisonAI Platform to version 0.1.4 or later, where these privilege management issues are fixed. Until then, restrict network access to the server to trusted users only and disable open registration if possible. Review and enforce role hierarchy checks in member-management routes and ensure resource ownership validation matches the workspace context. Patch status is not explicitly stated but version 0.1.4 is identified as the fixed version.
CVE-2026-47407: CWE-269: Improper Privilege Management in MervinPraison praisonai-platform
Description
PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Prior to version 0.1.4, the Platform server exposes resources under `/api/v1/workspaces/{workspace_id}/...` and protects them with a `require_workspace_member(workspace_id)` FastAPI dependency. The dependency only checks that the caller is a member of the workspace_id in the URL prefix. The route handlers then look up the inner resource (`agent_id`, `issue_id`, `project_id`, `label_id`, `comment_id`, `dependency_id`) by primary key alone. The resource's own `workspace_id` is never compared to the URL's `workspace_id`. A user can therefore put their own workspace in the URL prefix and any other workspace's resource ID in the path. The auth check passes, since they really are a member of the prefix workspace. The service then returns the cross-tenant resource for read, update, or delete. There is a second bug in the member-management routes (`add_member`, `update_member_role`, `remove_member`, `update_workspace`, `delete_workspace`). Each one inherits the default `min_role="member"` from `require_workspace_member`. Any basic member can therefore promote themselves to admin or owner, demote or remove other members, and delete the workspace. The role hierarchy exists in the schema but is not enforced. Registration is open at `/api/v1/auth/register` with no email verification. The default server bind is `0.0.0.0:8000` (`python -m praisonai_platform`). One curl from any unauthenticated network position is enough to bootstrap into the system. PraisonAI Platform version 0.1.4 patches the issue.
CVSS v4.0
Score 9.4critical
Affected software
pkg:github/mervinpraison/PraisonAIRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The PraisonAI Platform server versions before 0.1.4 expose API endpoints under /api/v1/workspaces/{workspace_id}/ that rely on a FastAPI dependency to check if the caller is a member of the workspace_id in the URL prefix. However, the inner resource identifiers (e.g., agent_id, issue_id) are looked up by primary key without verifying that these resources belong to the workspace in the URL. This flaw allows a user to access resources from other workspaces by specifying their own workspace in the URL prefix and another workspace's resource ID in the path, bypassing authorization. Furthermore, member-management routes inherit a default minimum role of 'member' without enforcing role hierarchy, allowing any member to promote themselves to admin or owner, demote or remove other members, and delete the workspace. The platform's open registration endpoint requires no email verification, facilitating easy unauthorized account creation. The default server binding to 0.0.0.0:8000 exposes the service to unauthenticated network access. These combined issues constitute a critical security vulnerability. The issue is fixed in PraisonAI Platform version 0.1.4.
Potential Impact
An attacker who is a member of any workspace can access, modify, or delete resources belonging to other workspaces by exploiting the improper validation of resource ownership. Additionally, any workspace member can escalate their privileges to admin or owner, allowing them to remove other members, change roles, or delete the entire workspace. The open registration without email verification and default server binding to all network interfaces allows an attacker to easily create accounts and exploit these flaws remotely. This can lead to unauthorized data access, privilege escalation, and workspace destruction.
Mitigation Recommendations
Upgrade PraisonAI Platform to version 0.1.4 or later, where these privilege management issues are fixed. Until then, restrict network access to the server to trusted users only and disable open registration if possible. Review and enforce role hierarchy checks in member-management routes and ensure resource ownership validation matches the workspace context. Patch status is not explicitly stated but version 0.1.4 is identified as the fixed version.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-05-19T19:37:43.525Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a5fa8792a4a8d59897734e6
Added to database: 07/21/2026, 17:12:25 UTC
Last enriched: 07/21/2026, 17:26:59 UTC
Last updated: 07/21/2026, 21:03:14 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.