CVE-2026-40289 PraisonAI Browser Server allows unauthenticated WebSocket clients to hijack connected extension sessions
Unauthenticated attackers can hijack browser automation sessions in PraisonAI, gaining remote control and accessing sensitive data.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-40289?
CVE-2026-40289 is a critical missing authorization vulnerability in MervinPraison PraisonAI, published on 14 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Weakness: CWE-306
Which versions are affected by CVE-2026-40289?
6 open source packages ship an affected version, including praisonaiagents, PraisonAI and praisonai. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
praisonaiagents PyPI | All versions | 1.5.140 |
praisonaiagents PyPI | All versions | 1.5.140 |
praisonaiagents PyPI | All versions | 1.5.140 |
PraisonAI PyPI | All versions | 4.5.139 |
praisonai PyPI | All versions | 4.5.139 |
praisonai PyPI | All versions | 4.5.139 |
Products include Praison Praisonai, Praison Praisonaiagents.
How do I fix CVE-2026-40289?
Upgrade praisonaiagents to 1.5.140 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-40289 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-40289 exists.
Other vulnerabilities in MervinPraison PraisonAI
- CVE-2026-39888 PraisonAIAgents has a sandbox escape via exception frame traversal in `execute_code` (subprocess mode)
- CVE-2026-41497 Incomplete fix for CVE-2026-34935: Command Injection in MervinPraison/PraisonAI
- CVE-2026-40288 PraisonAI: Critical RCE via `type: job` workflow YAML
- CVE-2026-39890 PraisonAI Affected by Remote Code Execution via YAML Deserialization in Agent Definition Loading
- CVE-2026-34934 PraisonAI: Second-Order SQL Injection in `get_all_user_threads`
Sources
Also known as GHSA-8x8f-54wf-vv92, PYSEC-2026-467, PYSEC-2026-485.