Skip to main content

Praisonai CVE-2026-40289

| EUVDEUVD-2026-22211 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-04-14 GitHub_M GHSA-8x8f-54wf-vv92
9.1
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

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

  1. Access
    Network scan identifies exposed PraisonAI service
  2. Delivery
    Attacker connects to /ws WebSocket without Origin header
  3. Exploit
    Send start_session message to server
  4. Execution
    Server routes command to idle browser-extension client
  5. Persist
    Hijacked session streams automation outputs to attacker
  6. Impact
    Exfiltrate sensitive data or inject malicious commands

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

PraisonAI versions below 4.5.139 and praisonaiagents below 1.5.140 with browser bridge enabled (praisonai browser start). Server must bind to 0.0.0.0 (default). Unauthenticated remote attacker omits Origin header in WebSocket connection to /ws endpoint. No victim interaction required.

Impact

This vulnerability presents critical real-world risk despite lacking confirmed active exploitation signals. The CVSS 9.1 score accurately reflects severe technical impact: network-accessible (AV:N), trivial exploitation complexity (AC:L), zero authentication barriers (PR:N), high confidentiality and integrity impact (C:H/I:H) from session hijacking and data exfiltration. EPSS data not provided, but the low technical barrier suggests high automatable exploitation potential per SSVC framework-any attacker with network access and basic WebSocket knowledge can exploit this. The absence of public exploit code (POC=not indicated, KEV=not listed) provides temporary risk reduction, but the detailed GitHub security advisory effectively serves as exploitation documentation. Most concerning: the default 0.0.0.0 binding means cloud deployments, containerized instances, or development environments on shared networks are immediately vulnerable. Organizations using PraisonAI for browser automation involving sensitive workflows (credential entry, data scraping, authenticated sessions) face immediate compromise risk. This is a legitimate critical-priority issue, not a theoretical high-CVSS scenario-the attack requires minimal sophistication and enables direct session control.

Exploit ScenarioDerived

A remote attacker on the same network or internet-facing deployment identifies the PraisonAI browser bridge listening on default port (network scan or service fingerprinting). Using a simple Python WebSocket client or curl, the attacker establishes a connection to the /ws endpoint without including an Origin header, bypassing the conditional validation. The attacker sends a start_session message with arbitrary parameters, which the server routes to the first idle browser-extension WebSocket, effectively hijacking that legitimate user's automation session. All subsequent browser actions-page navigation, form inputs, scraped data, authentication credentials entered via automation-stream back to the attacker's WebSocket connection, enabling real-time monitoring and control of the victim's browser session without any authentication challenge.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 14, 2026

Unauthenticated remote session hijacking in PraisonAI's browser bridge (versions <4.5.139) and praisonaiagents (<1.5.140) allows network attackers to control browser automation sessions without authentication. The /ws WebSocket endpoint accepts connections from any client omitting the Origin header, enabling attackers to send start_session commands that hijack idle browser-extension sessions and receive all automation outputs. With CVSS 9.1 (Critical) scoring driven by network attack vector, low complexity, and no authentication requirement (AV:N/AC:L/PR:N), this represents a severe risk in any deployment where the default 0.0.0.0 binding exposes the service to untrusted networks. No public exploit identified at time of analysis, though exploitation requires only basic WebSocket client capabilities.

RemediationAI

Immediately upgrade to patched versions: PraisonAI 4.5.139 or later, and praisonaiagents 1.5.140 or later. Users can update via Python package managers with 'pip install --upgrade praisonai praisonaiagents'. If immediate patching is not feasible, implement network-level controls to restrict WebSocket endpoint access: bind the browser bridge to localhost (127.0.0.1) instead of 0.0.0.0, deploy firewall rules blocking external access to the WebSocket port, or place the service behind authenticated reverse proxy with mandatory authentication. Do not rely on Origin header validation as a security control in the vulnerable versions. For production deployments, review network architecture to ensure the browser bridge is not exposed to untrusted networks, and audit logs for unexpected WebSocket connections or start_session messages from unauthorized sources. Complete remediation guidance and affected version ranges are detailed in the GitHub security advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-8x8f-54wf-vv92.

Affected VersionsENISA

praisonaiagents < 1.5.140
PraisonAI < 4.5.139

Affected Packages

pypi praisonai fix: 4.5.139
pypi praisonaiagents fix: 1.5.140

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi

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

Technical ContextAI · show details

PraisonAI is a multi-agent automation framework that includes a browser bridge component facilitating communication between a server and browser-extension clients via WebSockets. The vulnerability stems from CWE-306 (Missing Authentication for Critical Function) in the WebSocket endpoint implementation. The server's Origin header validation is conditional-it only checks the header when present, allowing non-browser clients (curl, Python websocket libraries, custom scripts) to bypass the control entirely by omitting the header. The affected CPE strings identify two distinct packages: mervinpraison:praisonai (main framework) and mervinpraison:praisonaiagents (agents library), both requiring patches. The 0.0.0.0 default binding exposes the service to all network interfaces rather than localhost-only, amplifying the attack surface. The session-routing logic lacks any cryptographic authentication or session tokens, instead relying solely on the flawed Origin check to determine legitimate clients.

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

GitHub Advisory PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

2
Patch released
Apr 15, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 14, 2026 - 03:05 nvd
CRITICAL 9.1

DescriptionGitHub Advisory

PraisonAI is a multi-agent teams system. In versions below 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents, the browser bridge (praisonai browser start) is vulnerable to unauthenticated remote session hijacking due to missing authentication and a bypassable origin check on its /ws WebSocket endpoint. The server binds to 0.0.0.0 by default and only validates the Origin header when one is present, meaning any non-browser client that omits the header is accepted without restriction. An unauthenticated network attacker can connect, send a start_session message, and the server will route it to the first idle browser-extension WebSocket (effectively hijacking that session) and then broadcast all resulting automation actions and outputs back to the attacker. This enables unauthorized remote control of connected browser automation sessions, leakage of sensitive page context and automation results, and misuse of model-backed browser actions in any environment where the bridge is network-reachable. This issue has been fixed in versions 4.5.139 of PraisonAI and 1.5.140 of praisonaiagents.

Executive ViewAI

Why It Matters

PraisonAI's browser bridge (versions before 4.5.139) and praisonaiagents (before 1.5.140) contain a critical unauthenticated remote session hijacking vulnerability that allows attackers to take control of browser automation sessions and extract all outputs without any credentials. Any organization running these products on network-accessible systems faces immediate risk of unauthorized browser automation abuse, data exfiltration through automated workflows, and potential lateral movement into systems accessed by the browser.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict network binding from 0.0.0.0 to 127.0.0.1 or internal trusted subnets only; (2) Implement firewall rules blocking external access to WebSocket endpoints; (3) Deploy a reverse proxy or WAF with mandatory Origin header validation and authentication; (4) Disable the browser bridge service until patched if not operationally critical; (5) Monitor WebSocket connections for suspicious session takeover attempts.

Threat Intelligence Overview

EPSS Score
0.1%
Top 83% exploitable
Threat Intel
1
1 source
Social Media
4
Sightings
Data Quality
6 sources
Confidence: High

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 No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
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-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

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-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-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

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

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