Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed AgentOS port on 0.0.0.0
-
DeliveryGET /api/agents to enumerate agents
-
ExploitPOST /api/chat to invoke chosen agent
-
ExecutionAgent executes tools/memory/credentials
-
ImpactData disclosure and unauthorized agent actions
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 | Requires the npm |
| Impact | This is a genuinely high-priority network-exposed exposure, though the CVSS 9.4 slightly overstates the confirmed impact. The signals are internally consistent on the exposure side: CVSS AV:N/AC:L/PR:N/UI:N matches the description precisely - AgentOS binds to 0.0.0.0 by default (src/os/config.ts) and registers GET /api/agents and POST /api/chat with no authentication middleware (CWE-306), so any caller with network reachability can list agents and invoke them without credentials. SSVC reinforces the concern (Automatable: yes, Technical Impact: total), which fits a simple unauthenticated HTTP request. Against this, the exploitation-likelihood signals are modest: SSVC Exploitation is 'none', EPSS is only 0.56% (45th percentile), there is no CISA KEV listing, and no public exploit code is referenced - so the correct posture is 'no public exploit identified at time of analysis' rather than active exploitation. The C:H/I:H/A:L impact rating leans on the description's speculative language ('potentially reaching its tools, memory, external APIs, credentials, and workflow state'); what is CONFIRMED is disclosure of agent names, roles, and the first 100 characters of instructions plus arbitrary agent invocation, while credential/RCE reach is contingent on how each deployment wires up tools. Availability impact (A:L) is weakly justified. Net: real priority for anyone running the npm AgentOS server on an untrusted network, but the true blast radius is deployment-dependent, and low EPSS/no-KEV means this is opportunistic-if-exposed rather than mass-exploited today. |
| Exploit ScenarioDerived | A developer runs the npm |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Unauthenticated access to the AgentOS HTTP server shipped in the npm praisonai package (versions 1.6.0 through 1.7.1) allows any remote caller who can reach the service to read configured agent names, roles and the first 100 characters of each agent's instructions via GET /api/agents, and to invoke a chosen agent through POST /api/chat, potentially reaching that agent's tools, memory, external APIs, credentials and workflow state. The default configuration binds to 0.0.0.0 with corsOrigins set to ['*'] and registers both routes without any authentication or authorization middleware (CWE-306), so the missing-authentication weakness applies unauthenticated over the network (CVSS 3.1 PR:N); version 1.7.2 is the vendor-released fix. No public exploit code has been identified at time of analysis, EPSS is low at 0.56% (45th percentile) and the issue is not in CISA KEV, but CISA SSVC rates it automatable with total technical impact and the exposure depends entirely on whether an operator has left AgentOS reachable on a routable interface.
RemediationAI
Vendor-released patch: upgrade the npm praisonai package to 1.7.2 or later, per the upstream advisory GHSA-9752-mhqh-h34f, removing the default-unauthenticated AgentOS exposure by installing the fixed release and redeploying any service started with app.serve(). Where immediate upgrades are not possible, apply compensating controls in this order of effectiveness: explicitly set host to '127.0.0.1' or a specific bind address in AgentOSConfig (or pass it to app.serve) so the server no longer listens on all interfaces - this fully removes remote reachability but breaks legitimate remote clients, which then need an authenticated reverse proxy or an SSH tunnel; place AgentOS behind a reverse proxy, API gateway or service mesh that enforces authentication and TLS in front of /api/agents and /api/chat - effective but adds infrastructure and requires credential distribution to real clients; restrict the default corsOrigins value of ['*'] to trusted origins so browser-based callers cannot read responses cross-origin; and block the default AgentOS port (8000) at firewalls/security groups and avoid exposing it to untrusted networks. Because POST /api/chat can trigger whatever tools, memory stores, external API keys and workflow state an operator wired into the agent, operators who cannot patch immediately should also temporarily strip long-lived credentials and privileged tool bindings from any AgentOS-exposed agent, accepting reduced agent functionality as the trade-off. Finally, search existing deployments and logs for unexpected requests to /api/agents and /api/chat to detect prior unauthenticated enumeration or invocation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the TypeScript AgentOS server inside the npm praisonai package, an Express-based HTTP wrapper around PraisonAI's multi-agent framework. In src/praisonai-ts/src/os/config.ts the exported DEFAULT_AGENTOS_CONFIG sets host: '0.0.0.0' and corsOrigins: ['*'], and AgentOSConfig exposes host, CORS and API-prefix options but no API key, auth mode or authorization callback; in src/praisonai-ts/src/os/agentos.ts, _createApp() applies express.json() (line ~179) and CORS handling (line ~182) and then immediately registers routes (lines ~204-205) with no credential, bearer-token, session or origin-bound-secret check in between. The resulting surface is GET ${apiPrefix}/agents, which returns agent names, roles and an instructions slice limited to the first 100 characters (line ~240), and POST ${apiPrefix}/chat, which forwards the caller's message into agent.chat(message) (line ~273); because the server binds via app.listen(port, host) with the 0.0.0.0 default (lines ~331/338), a plain app.serve({ port: 8000 }) is reachable on every interface. The root cause class is CWE-306 (Missing Authentication for Critical Function) - the functional gap is not a memory-safety or injection flaw but the complete absence of an authorization gate in front of agent management and invocation. The Python/PyPI AgentOS and API-server advisories are separate issues affecting a different package and codebase, and the referenced upstream commit 709a0387853709a5e2f2c34680fa64cada252c27 primarily hardens the CLI sandbox executor (shell-metacharacter rejection, network-isolated command blocking, direct spawn without a shell, proxy env stripping) and bumps the Python distribution to 4.6.60, illustrating that the fix for this npm-specific auth gap is tracked through the 1.7.2 release/advisory rather than that single diff. Note also that the published CVSS 9.4 vector assigns A:L, whereas our independent assessment scores availability as A:N (C:H/I:H), meaning the aggregate severity score slightly overstates the confirmed availability impact.
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
Unauthenticated network access to instruction disclosure (C:H) and arbitrary agent invocation (I:H); availability impact not established so A:N, unlike vendor's A:L.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
PraisonAI is a multi-agent teams system. From 1.6.0 until 1.7.2, AgentOS in src/praisonai-ts/src/os/agentos.ts uses the 0.0.0.0 default from src/praisonai-ts/src/os/config.ts and registers GET /api/agents and POST /api/chat without authentication middleware. A remote caller who can reach the service can obtain agent names, roles, and instruction prefixes and can invoke a selected agent, potentially reaching its tools, memory, external APIs, credentials, and workflow state. An initial remediation was released in version 1.7.2.
Technical POC Analysis
{ "rootcause": "## Root cause\nThe defect is CWE-306 Missing Authentication for Critical Function in src/praisonai-ts/src/os/agentos.ts, made exploitable by insecure defaults in src/praisonai-ts/src/…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Organizations using the praisonai npm package versions 1.6.0 through 1.7.1 with the AgentOS HTTP server are exposed to unauthenticated network access that could allow attackers to read agent configurations and invoke agents, potentially reaching sensitive credentials, external APIs, and workflow state. No public exploit identified at time of analysis, and Vendor-released patch: 1.7.2 is available, but the default configuration binds to all interfaces with wildcard CORS, making exposure likely if deployed. Leadership should prioritize patching and verifying no unauthorized access has occurred.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th
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
System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection
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
Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv
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
EUVD-2026-78394
GHSA-9752-mhqh-h34f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB