criticalCVSS 9.8Vulnerability

GHSA-j4f3-55x4-r6q2

## Summary The published npm package `praisonai` exports a TypeScript `MCPServer` that can expose tools, resources, and prompts over an HTTP JSON-RPC transport with: ```ts await server.start({ port: 3000 }); ``` The HTTP transport has no authentication or authorization path. `MCPServerConfig` does not expose an auth/security setting, `startHttp()` ignores the `Authorization` header, and every POST request is parsed and forwarded directly to `handleRequest()`. That request handler dispatches sensitive MCP methods such as `tools/call`, `resources/read`, and `prompts/get`. The implementation also calls `this.httpServer.listen(port)` without a host argument. In Node.js this binds to the unspecified address; the local PoV observed `{ address: "::", family: "IPv6" }`, making the service reachable on all interfaces on systems where the port is exposed. This lets any network client that can reach the HTTP port list tools and invoke registered server-side tools without credentials. Supplying `Authorization: Bearer invalid` makes no difference. ## Technical Details `MCPServerConfig` exposes server metadata, tools/resources/prompts, stdio, port, and logging. It does not expose an auth token, authorization policy, `MCPSecurity` instance, authorization callback, or loopback-only option: ```text src/praisonai-ts/src/mcp/server.ts 57: export interface MCPServerConfig { 63: tools?: MCPServerTool[]; 65: resources?: MCPResource[]; 67: prompts?: MCPPrompt[]; 69: stdio?: boolean; 73: port?: number | null; 75: logging?: boolean; ``` `handleRequest()` dispatches sensitive MCP methods directly: ```text src/praisonai-ts/src/mcp/server.ts 203: async handleRequest(request: MCPRequest): Promise<MCPResponse> { 219: case 'tools/call': 220: result = await this.handleToolCall(params); 225: case 'resources/read': 226: result = await this.handleResourceRead(params); 231: case 'prompts/get': 232: result = awa

Properties

ghsa_id
GHSA-j4f3-55x4-r6q2
severity
critical
summary
npm PraisonAI MCPServer exposes unauthenticated HTTP tools/call
cvss_score
9.8
cve_id
GHSA-j4f3-55x4-r6q2
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
is_ghsa_only
true
ghsa_published
2026-06-18T14:26:48Z
source_url
https://github.com/advisories/GHSA-j4f3-55x4-r6q2
ghsa_updated
2026-06-18T14:26:48Z

Related Entities (6)

AFFECTS (1)

[Software]npm/praisonai

HAS_WEAKNESS (3)

[Weakness]Initialization of a Resource with an Insecure Default
[Weakness]Missing Authorization
[Weakness]Missing Authentication for Critical Function

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (1)

[Software]npm/praisonai

Explore deeper with Ninja Signal's threat intelligence graph