CVE-2026-40159·Python vulnerability
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.
- Severity
- medium
- Software
- Python
- Fixed in
- 4.5.128
- Published
- 2026-04-10
Affected versions
Until: 4.5.128
Fixed in: 4.5.128
How to fix this CVE
Update PraisonAI to version 4.5.128 or later to prevent environment variable leakage to spawned MCP subprocess commands. This update restricts sensitive credentials and API keys from being automatically forwarded to third-party package executables invoked through the Model Context Protocol. Review your deployment to ensure no untrusted MCP tools are configured, and rotate any credentials that may have been exposed to external processes.
sudo dnf update python3-praisonaiDefensia detects this vulnerability
How to check if you are affected
- Check installed PraisonAI version: pip show praisonai | grep Version
- Verify if MCP integration is enabled in your PraisonAI configuration files: grep -r 'MCP\|mcp_' ~/.config/praisonai/ or /etc/praisonai/
- Search application logs for subprocess execution patterns: grep -i 'npx\|subprocess\|popen' /var/log/praisonai* /var/log/application*
- Confirm the patch: pip show praisonai | grep -E 'Version: (4\.5\.(12[8-9]|1[3-9][0-9]|[2-9][0-9][0-9])|[5-9]\.|[1-9][0-9]\.)' — if output appears, the vulnerability is patched
FAQ
What is CVE-2026-40159?
CVE-2026-40159 is an environment variable disclosure vulnerability in PraisonAI's MCP integration that leaks sensitive credentials (API keys, tokens, database passwords) to child processes spawned via user-supplied commands. Untrusted third-party packages executed through npx or similar package runners can intercept and exfiltrate these inherited environment variables.
Is CVE-2026-40159 being actively exploited?
No, CVE-2026-40159 is not currently listed in CISA's Known Exploited Vulnerabilities catalog and has no public exploit code available. However, the vulnerability is readily exploitable once discovered by threat actors targeting organizations using PraisonAI with external MCP tools.
What versions of PraisonAI are affected by CVE-2026-40159?
All versions of PraisonAI prior to 4.5.128 are affected. The vulnerability exists in any version that forwards the parent process environment to MCP subprocess commands without filtering sensitive variables.
How do I check if my server is vulnerable to CVE-2026-40159?
Run: pip show praisonai | grep Version. If the version is below 4.5.128, your installation is vulnerable. Additionally, check if MCP integration is active by searching your PraisonAI configuration for MCP or mcp_ directives.
Does Defensia detect CVE-2026-40159?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If PraisonAI is installed on a monitored server, CVE-2026-40159 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-40159. Free for 1 server.
Get started free