Skip to main content

PraisonAI CVE-2026-57139

| EUVDEUVD-2026-78393 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-09-15 GitHub_M GHSA-j4f3-55x4-r6q2
9.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed MCP HTTP port
  2. Delivery
    POST tools/list to enumerate handlers
  3. Exploit
    POST tools/call with crafted params
  4. Execution
    Handler runs with server credentials/privileges
  5. Impact
    Execute actions or exfiltrate registered data

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

Requires the operator to start the PraisonAI TypeScript MCP server over the HTTP JSON-RPC transport (e.g. server.start({ port: 3000 }) / MCPServerConfig.port set) - stdio-only deployments are not exposed. When HTTP is enabled, startHttp() calls httpServer.listen(port) with no host argument, so Node binds the unspecified address (all interfaces) and any network client reaching the port can call tools/call, resources/read, or prompts/get with no credentials; MCPServerConfig exposes no auth token, authorization policy, or loopback-only option. Impact severity scales with what tools/resources/prompts the operator registered and the privileges of the server process. Limiting factors: the port must be network-reachable (exposed beyond localhost/firewall) and the HTTP transport must be in use; there is no user interaction or authentication barrier once reachable. Affected npm praisonai >=1.5.0 through <=1.7.1; initial remediation in 1.7.2.

Impact

This is a genuinely high-priority issue with a well-calibrated CVSS 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). All signals align: the MCP HTTP transport in the npm praisonai package (src/praisonai-ts/src/mcp/server.ts) binds to the unspecified address (observed '::', all interfaces) and forwards every POST straight to handleRequest() with no authentication or authorization path - CWE-306, missing authentication for a critical function. Any client that can reach the port can invoke tools/call, resources/read, or prompts/get, causing registered handlers to execute with server-side credentials and process privileges (integrity/availability impact) or disclose registered data (confidentiality impact), so C:H/I:H/A:H is defensible rather than inflated. Supporting signals: POC/exploit code is publicly available (a working gist), a vendor patch exists (npm 1.7.2), and the GHSA advisory confirms the root cause with line-level source evidence. The only tempering signals are that this is NOT in CISA KEV (no confirmed active exploitation) and EPSS is modest at 0.64% (49th percentile), consistent with a niche framework where mass automated exploitation has not materialized despite public PoV. The real limiter is deployment posture: the flaw only bites when an operator actually starts the HTTP transport (server.start({port})) and the port is reachable - but when they do, exploitation is trivial and unauthenticated. Net: treat as urgent for anyone running the PraisonAI TypeScript MCP server over HTTP; lower urgency for stdio-only or non-exposed deployments.

Exploit ScenarioDerived

An operator runs the PraisonAI TypeScript MCP server with the HTTP transport (server.start({ port: 3000 })), which binds to all interfaces with no auth. An attacker who can reach that port sends a JSON-RPC POST for tools/list to enumerate registered tools, then tools/call to invoke a handler that runs with the server's credentials and process privileges - sending 'Authorization: Bearer invalid' changes nothing. Publicly available PoC/exploit code exists (a gist), lowering the bar to immediate opportunistic abuse against exposed instances.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
1 PoC candidate (unverified) Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

PraisonAI's TypeScript MCP server (npm package praisonai, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC transport that performs no authentication or authorization, so any network client that can reach the listening port can call tools/call, resources/read, or prompts/get and trigger registered handlers with the server process's credentials and privileges. The server's startHttp() binds the unspecified address (all interfaces) with no host restriction and ignores the Authorization header entirely; the CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8) confirms this is unauthenticated and remotely reachable, though exploitation requires the operator to have enabled the HTTP transport and made the port network-reachable. Publicly available exploit code exists (a public gist), but there is no evidence of confirmed active exploitation, and the EPSS score is low at 0.64% (49th percentile); the vendor-released fix is version 1.7.2.

RemediationAI

Upgrade the npm praisonai package to 1.7.2 or later - this is the vendor-released patch (initial remediation per GHSA-j4f3-55x4-r6q2, released alongside commit 709a0387853709a5e2f2c34680fa64cada252c27 and repository release v4.6.60) and replaces the unauthenticated HTTP handling in startHttp(). If immediate upgrade is not possible, the most effective compensating control is to stop using the HTTP transport for MCP servers that carry credentials: switch to stdio transport (MCPServerConfig.stdio) and keep the process purely local, at the cost of losing remote access to the MCP tools. Where HTTP is genuinely required, bind the service to loopback only instead of the unspecified address (explicitly configure 127.0.0.1 rather than allowing Node's default all-interface bind to ::), then place it behind a firewall or security group rule that permits only trusted clients - the trade-off is that any host with network path access still has full unauthenticated tool invocation, so loopback binding alone is not a substitute for auth. Add an authenticating reverse proxy (mutual TLS or bearer-token validation) in front of the port if remote access is mandatory, accepting the added operational complexity, and run the MCP server process under a least-privilege account with restricted filesystem and network egress so that a successful tools/call cannot reach sensitive data or execute high-impact commands. Finally, audit which tools, resources, and prompts were registered during the exposed window and treat any invocation logs, credentials, or data returned by those handlers as potentially disclosed; blocking the port at the network perimeter is a valid stopgap but leaves the vulnerability intact for anyone who regains reachability.

Affected VersionsENISA

PraisonAI 1.5.0, < 1.7.2

Affected Packages

npm praisonai fix: 1.7.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is CWE-306 (Missing Authentication for Critical Function) in the Model Context Protocol server implementation shipped as src/praisonai-ts/src/mcp/server.ts in the npm praisonai package. PraisonAI's MCP server can run either over stdio or over an HTTP JSON-RPC transport; when HTTP is used, startHttp(port) calls this.httpServer.listen(port) with no host argument, which in Node.js binds the unspecified address (observed as { address: "::", family: "IPv6" }), publishing the service on every interface. MCPServerConfig exposes only metadata, tools, resources, prompts, stdio, port and logging settings - there is no auth token, authorization policy, MCPSecurity instance, authorization callback, or loopback-only option - and startHttp() discards the incoming Authorization header, parsing every POST body and forwarding it directly to handleRequest(). That dispatcher routes tools/call, resources/read, and prompts/get into handleToolCall(), handleResourceRead(), and handlePromptGet(), and handleToolCall() invokes the operator-registered tool.handler(args) in-process. Impact therefore scales with what the operator registered and the privileges of the Node process rather than with the transport itself, and the affected CPE is cpe:2.3:a:mervinpraison:praisonai:*:*:*:*:*:*:*:*, with the vendor advisory GHSA-j4f3-55x4-r6q2 tracking the npm package range >=1.5.0, <=1.7.1. Note the versioning divergence: the fix is published as npm praisonai 1.7.2 while the associated repository release is tagged v4.6.60 and the referenced commit (709a0387853709a5e2f2c34680fa64cada252c27) also hardens the CLI sandbox/command validator and adds tool-call approval wrapping, which are defense-in-depth changes in the same release rather than the authentication fix itself.

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

Vendor (GitHub_M) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Unauthenticated network client reaching the HTTP port invokes tool handlers running with server credentials/process privileges, yielding full C/I/A; no auth or interaction required (PR:N/UI:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

PraisonAI is a multi-agent teams system. From 1.5.0 until 1.7.2, MCPServer.startHttp() in src/praisonai-ts/src/mcp/server.ts binds without a host restriction and forwards every HTTP POST request to handleRequest() without authentication or authorization. Any network client that can reach the port can call tools/list, tools/call, resources/read, or prompts/get, causing registered handlers to run with server-side credentials and process privileges or disclose registered data. An initial remediation was released in version 1.7.2.

Technical POC Analysis

CVE-2026-57139 is CWE-306 in the npm package praisonai, component src/praisonai-ts/src/mcp/server.ts, TypeScript MCPServer HTTP transport.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

PraisonAI's npm-distributed TypeScript MCP server (versions 1.5.0-1.7.1) allows any network client that can reach its HTTP JSON-RPC port to invoke registered tools, resources, and prompts with the server process's own credentials - no login required. Organizations running self-hosted AI agent tooling with the HTTP transport exposed are the affected population, and because those handlers often hold cloud, filesystem, or API secrets, a single reachable instance can become a pivot point into production infrastructure. Leadership should care because the exposure window is defined by network reachability rather than attacker skill, and remediation is a low-effort dependency upgrade.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 51% exploitable
Prevalence
Low
Niche open-source multi-agent framework, limited production/enterprise footprint
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

70
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +49
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-61447 CRITICAL POC
10.0 Jul 11

Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-61439 HIGH POC
8.7 Jul 11

System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-61429 HIGH POC
8.4 Jul 11

Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy