What’s Vulnerable › Vulnerabilities
CVE-2026-40159: PraisonAI Exposes Sensitive Environment Variable via Untrusted MCP Subprocess Execution
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-04-10 · updated 2026-10-26
- Weakness: CWE-200
Description
PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI’s MCP (Model Context Protocol) integration allows spawning background servers via stdio using user-supplied command strings (e.g., MCP("npx -y @smithery/cli ...")). These commands are executed through Python’s subprocess module. By default, the implementation forwards the entire parent process environment to the spawned subprocess. As a result, any MCP command executed in this manner inherits all environment variables from the host process, including sensitive data such as API keys, authentication tokens, and database credentials. This behavior introduces a security risk when untrusted or third-party commands are used. In common scenarios where MCP tools are invoked via package runners such as npx -y, arbitrary code from external or potentially compromised packages may execute with access to these inherited environment variables. This creates a risk of unintended credential exposure and enables potential supply chain attacks through silent exfiltration of secrets. This vulnerability is fixed in 4.5.128.
Affected products
- MervinPraison PraisonAI: before 4.5.128 — fixed in 4.5.128
How to fix
Upgrade to a fixed version: MervinPraison PraisonAI 4.5.128. Check the vendor advisory for mitigations.
References
Get alerted when CVE-2026-40159 or the next vulnerability affects your stack