Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconVictim runs local AGUI server
-
DeliveryVictim visits attacker page
-
ExploitJS POSTs JSON with text/plain Content-Type
-
InstallCORS preflight bypassed as simple request
-
C2Agent executes with full tool capabilities
-
ExecuteWildcard CORS lets script read streamed response
-
ImpactTool output and environment data exfiltrated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
|
| Exploitation Conditions | Requires the victim to (a) be running a PraisonAI AGUI server reachable from the victim's browser (the documented localhost usage pattern is sufficient) and (b) visit an attacker-controlled web page in that same browser session - this is the UI:P (passive user interaction) factor in the CVSS 4.0 vector. No authentication, no special privileges, no preflight-defeating tricks beyond setting Content-Type to a CORS-safe value (e.g., text/plain) are needed because the endpoint hardcodes Access-Control-Allow-Origin: * and Starlette parses the JSON body regardless of Content-Type. Limiting factors: the AGUI server must actually be running at the time of the visit and the attacker must know or guess the bound host/port (commonly http://localhost:8000); browsers that block private-network requests by default (Chrome's Private Network Access for non-secure contexts) may partially mitigate against public-internet origins reaching localhost. |
| Impact | Vendor CVSS 4.0 of 8.6 (AV:N/AC:L/PR:N/UI:P/VC:H/VI:H/VA:N) accurately reflects the realistic risk: exploitation needs no authentication and no special network position, only that the victim browse an attacker page while the local AGUI server is running - the documented deployment pattern. EPSS and KEV data were not supplied, so probabilistic exploitation likelihood is unquantified; this is not on CISA KEV. The detailed attack flow in the GHSA advisory functions as a working blueprint even though no PoC repository is referenced, raising real-world risk above what a 'just CORS misconfig' label might imply because the impact includes tool execution and data exfiltration, not merely credential leakage. Note one data conflict: the NVD description says 'before 1.5.128' while the pip advisory pins the fix at 4.5.128 - defenders should verify the version scheme with the vendor before assuming a low-numbered install is safe. |
| Exploit ScenarioDerived | A developer runs PraisonAI's AGUI server locally on port 8000 to use the agent UI, then visits an attacker-controlled or compromised website in the same browser. Attacker JavaScript issues fetch('http://localhost:8000/agui', {method:'POST', headers:{'Content-Type':'text/plain'}, body: JSON.stringify(runInput)}) - the text/plain Content-Type makes it a CORS simple request, the wildcard ACAO lets the script read the streamed SSE response, and the agent executes with its full tool set, returning command output, file contents, and environment data to the attacker page. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 18, 2026
Cross-origin agent execution in PraisonAI's AGUI endpoint allows any attacker-controlled website to silently invoke locally-running agents and exfiltrate their streaming responses, including tool execution results and sensitive environment data. The flaw stems from a triad of issues - no authentication on POST /agui, a hardcoded wildcard CORS header, and Starlette's Content-Type-agnostic JSON parsing - that together let a simple cross-origin request bypass the browser's preflight check. No public exploit identified at time of analysis, but the GHSA advisory publishes a complete attack flow making weaponization trivial.
RemediationAI
Vendor-released patch: praisonaiagents 4.5.128 (also referenced as PraisonAI 1.5.128 in the NVD entry) - upgrade via pip install --upgrade praisonaiagents>=4.5.128 per GHSA-x462-jjpc-q4q4 at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-x462-jjpc-q4q4. Until the upgrade is applied, place the AGUI server behind a reverse proxy that strips and replaces the wildcard Access-Control-Allow-Origin header with an explicit allowlist of trusted UI origins, and add an authenticating middleware (bearer token or session cookie with SameSite=Strict) in front of POST /agui; both changes are needed because either alone leaves the browser-trust gap open. As an interim host-level control, bind the AGUI listener exclusively to a loopback interface unreachable from the browser's outbound JS (e.g., a Unix domain socket or a non-localhost private interface accessed via SSH tunnel), accepting that this breaks browser-based UI clients that expect http://localhost:8000.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PraisonAI is an open-source multi-agent framework distributed as the praisonaiagents pip package; the affected component is src/praisonai-agents/praisonaiagents/ui/agui/agui.py, which exposes a FastAPI/Starlette router intended for local UI integration. The root cause is CWE-942 (Permissive Cross-domain Policy with Untrusted Domains): the StreamingResponse hardcodes Access-Control-Allow-Origin: *, the route has no auth dependency, and Starlette's Request.json() does not validate Content-Type, so a browser POST with text/plain qualifies as a CORS 'simple request' that skips the preflight OPTIONS gate. Because the response body is also wildcard-readable, attacker JavaScript can both trigger the agent and read the full SSE stream containing tool outputs and environment-derived data. CPE coverage is cpe:2.3:a:praisonai:praisonai:*:*:* with no upper bound enumerated in NVD.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint with no auth (AV:N, PR:N); victim must browse attacker page (UI:R); agent execution and data read yield C:H/I:H; no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
PraisonAI before 1.5.128 contains a cross-origin agent execution vulnerability in the AGUI endpoint that allows remote attackers to trigger arbitrary agent execution. The POST /agui endpoint lacks authentication and hardcodes Access-Control-Allow-Origin: * headers, combined with Starlette's Content-Type-agnostic JSON parsing, enabling attackers to bypass CORS preflight checks via simple requests and exfiltrate sensitive agent responses including tool execution results and environment data.
Executive ViewAI
PraisonAI's AGUI endpoint contains a cross-origin vulnerability allowing any attacker-controlled website to silently invoke locally-running agents and exfiltrate their responses, including sensitive environment data and tool execution results. Organizations running PraisonAI face immediate risk of credential compromise and unauthorized agent execution if the service is accessible from networked systems.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict firewall rules limiting AGUI endpoint access to trusted internal networks only, (2) Disable AGUI endpoint if not operationally required, (3) Immediately rotate all environment variables, API keys, and credentials accessible to PraisonAI processes, (4) Deploy request-level logging and anomaly detection on AGUI endpoint, (5) Isolate PraisonAI agent runtime environments to minimize credential exposure surface.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf
Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex
Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl
Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr
EUVD-2026-37960
GHSA-5fr5-2c3f-3fcr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB