highCVSS 8.1Vulnerability

GHSA-x462-jjpc-q4q4

## Summary The AGUI endpoint (`POST /agui`) has no authentication and hardcodes `Access-Control-Allow-Origin: *` on all responses. Combined with Starlette/FastAPI's Content-Type-agnostic JSON parsing, any website a victim visits can silently trigger arbitrary agent execution against a locally-running AGUI server and read the full response, including tool execution results and potentially sensitive data from the victim's environment. ## Details The vulnerability is a combination of three issues in `src/praisonai-agents/praisonaiagents/ui/agui/agui.py`: **1. No authentication (line 124-125):** ```python @router.post("/agui") async def run_agent_agui(run_input: RunAgentInput): ``` The endpoint accepts any request. `RunAgentInput` (defined in `types.py:159-165`) has no auth token, API key, or session validation field. No middleware or dependencies are attached to the router (line 111). **2. Hardcoded wildcard CORS (line 131-141):** ```python return StreamingResponse( event_generator(), media_type="text/event-stream", headers={ "Cache-Control": "no-cache", "Connection": "keep-alive", "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "POST, GET, OPTIONS", "Access-Control-Allow-Headers": "*", }, ) ``` The `Access-Control-Allow-Origin: *` header is hardcoded in the library code. Library consumers cannot override this without patching the source. **3. CORS preflight bypass via Starlette's Content-Type-agnostic parsing:** Starlette's `Request.json()` (used internally by FastAPI for Pydantic body models) calls `json.loads(await self.body())` without verifying that `Content-Type` is `application/json`. A browser POST with `Content-Type: text/plain` is classified as a CORS "simple request" per the Fetch specification — no preflight OPTIONS request is sent. Since the JSON body is still parsed successfully, the request executes normally. **Attack flow:** 1. Victim runs an AGUI server locally (the docu

Properties

ghsa_id
GHSA-x462-jjpc-q4q4
summary
PraisonAI: Cross-Origin Agent Execution via Hardcoded Wildcard CORS and Missing Authentication on AGUI Endpoint
severity
high
cvss_score
8.1
cve_id
GHSA-x462-jjpc-q4q4
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
is_ghsa_only
true
ghsa_published
2026-04-10T19:28:23Z
source_url
https://github.com/advisories/GHSA-x462-jjpc-q4q4
ghsa_updated
2026-04-10T19:28:24Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]pip/praisonaiagents

HAS_WEAKNESS (1)

[Weakness]Permissive Cross-domain Security Policy with Untrusted Domains

REPORTED_BY (1)

[Source]GitHub Advisory Database

AFFECTS (1)

[Software]pip/praisonaiagents

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-x462-jjpc-q4q4 (CVSS 8.1) — Ninja Signal Threat Intelligence | Ninja Signal