Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify internet-exposed PraisonAI serve agents port
-
DeliverySend unauthenticated POST to /agents or /agents/{agent_name}
-
ExploitBypass absent auth middleware in _create_agents_app()
-
ExecutionTrigger direct agent execution
-
ImpactLeverage agent tool permissions for data access or further action
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special conditions beyond network reachability to the PraisonAI serve agents HTTP port. The flaw is triggered precisely by the standard production deployment pattern: operator runs 'praisonai serve agents --api-key <secret>' and binds to 0.0.0.0 expecting the key to gate access. Any caller that can reach POST /agents or POST /agents/{agent_name} - no Authorization header, no X-API-Key, no query token - can invoke agents. The /api/v1/agents/{agent_id}/invoke route on the same server is separately protected by CALL_SERVER_TOKEN and is NOT affected. Exploitation is limited by: (1) network exposure - servers bound only to localhost are not reachable externally; (2) agent capability - impact scales with what tools are granted to configured agents; (3) version - only 4.6.34 through 4.6.57 are affected. No user interaction, authentication, or non-default configuration is required to exploit the affected endpoints. |
| Impact | The CVSS 8.6 score (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H) accurately reflects that this is a zero-complexity, unauthenticated, network-exploitable flaw. The C:L/I:L/A:H breakdown is conservative by design - the base vector cannot account for agent-specific capabilities, and operators who deploy agents with file system access, outbound HTTP tools, or external API integrations may face confidentiality and integrity impact well beyond what L ratings suggest; the actual blast radius scales entirely with the configured agent's tool permissions. EPSS data was not provided in the available input. KEV listing is not confirmed. A PoC is confirmed present in the GHSA advisory, which meaningfully elevates exploitability beyond what an unconfirmed theoretical flaw would warrant. The primary real-world limiting factor is network exposure: deployments bound to localhost or behind internal-only firewalls face substantially lower risk than those exposed to the internet or broad corporate networks - yet the vulnerability is specifically triggered by the configuration operators use for external production deployments (bind to 0.0.0.0 with --api-key). There is no conflict between the CVSS network vector and the description; the flaw is inherently network-side. Overall this is a genuine priority for any operator running an internet-facing PraisonAI serve agents instance in the affected version range. |
| Exploit ScenarioDerived | A PoC is confirmed in GHSA-7ww9-85pg-cv4x. An unauthenticated attacker with network access to a PraisonAI serve agents instance sends a POST request to /agents or /agents/{agent_name} without any Authorization header; the server processes the request and executes the configured agent as if fully authorized. If the agent is equipped with web access, shell, or file-system tools, the attacker can achieve the corresponding capability without ever obtaining the operator-configured API key. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller to execute configured agents via POST /agents and POST /agents/{agent_name} despite an operator-supplied --api-key. The FastAPI app created by _create_agents_app() accepts the key at the CLI layer but never applies it as middleware or a route dependency, rendering the documented authentication control entirely inert on those endpoints. A proof-of-concept is included in GHSA-7ww9-85pg-cv4x, and the flaw is fixed in v4.6.58 via an _authorise_request() method that enforces Bearer or X-Auth-Token header validation.
RemediationAI
Upgrade to PraisonAI v4.6.58 or later; the release is available at https://github.com/MervinPraison/PraisonAI/releases/tag/v4.6.58 and via pip. The fix (commit 2f9677abb2ea68eab864ee8b6a828fd0141612e1) adds _authorise_request() which validates Authorization: Bearer <token> or X-Auth-Token headers against the configured auth_token before executing any agent request. If immediate upgrade is not possible, restrict network access to the serve agents HTTP port using firewall rules or bind the server exclusively to 127.0.0.1 rather than 0.0.0.0 - this prevents external callers from reaching the unauthenticated endpoints but does not fix the underlying flaw and does not protect against same-host attackers. Do not treat --api-key as a functioning security control on any version prior to 4.6.58, regardless of documentation claims.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PraisonAI (cpe:2.3:a:mervinpraison:praisonai:*:*:*:*:*:*:*:*) is a Python multi-agent framework exposing a FastAPI HTTP server via its 'praisonai serve agents' command. The CLI correctly accepts --api-key (serve.py:162) and forwards it into config (serve.py:175-176), and the 'agents' subcommand parses it (serve.py:191, 199). However, _create_agents_app() (serve.py:228) creates the FastAPI application and registers POST /agents (line 287) and POST /agents/{agent_name} (line 346) with no auth dependency referencing config['api_key']. CWE-306 (Missing Authentication for Critical Function) precisely describes this pattern: the authentication mechanism is wired to the CLI interface but decoupled from the actual action handlers. A separately mounted /api/v1/agents/{agent_id}/invoke route is protected by CALL_SERVER_TOKEN, creating a false sense of security - the protected and unprotected routes coexist in the same server process. The fix commit (2f9677abb2ea68eab864ee8b6a828fd0141612e1) adds _authorise_request() to the server class, checking Authorization: Bearer or X-Auth-Token headers against the configured token before processing requests.
Know when Praisonai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
Network-reachable with no credentials or interaction needed; C:L/I:L reflects baseline agent invocation with A:H for unauthenticated resource consumption; S:U as scope is bounded by agent configuration.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
PraisonAI is a multi-agent teams system. From praisonai 4.6.34 until 4.6.58, praisonai serve agents accepts --api-key but _create_agents_app() does not authenticate POST /agents or POST /agents/{agent_name}. A network caller can invoke configured agents without credentials even when an API key was supplied. This issue is fixed in version 4.6.58.
Executive ViewAI
PraisonAI versions 4.6.34 through 4.6.57 contain a critical authentication bypass in the agent execution endpoints, allowing unauthenticated remote attackers to invoke configured agents and potentially execute arbitrary actions. This exposure affects any organization running vulnerable versions with network accessibility, creating immediate risk of unauthorized data access, system compromise, and operational disruption.
Apply vendor patch: upgrade to PraisonAI v4.6.58 or later. Pending upgrade, implement network-level access controls restricting connections to agent endpoints to authorized IP ranges only, and monitor POST requests to /agents and /agents/{agent_name} endpoints for suspicious activity.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf
Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex
Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl
Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr
Server-Side Request Forgery in PraisonAI before version 4.6.58 allows unauthenticated remote attackers to force the appl
EUVD-2026-65500
GHSA-7ww9-85pg-cv4x
NVD
CVE.org
EPSS
Exploit-DB