CVE-2026-40153
Praisonaiagents ≤ 1.5.128
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NSummary
CVE-2026-40153 is a high-severity Cleartext Storage of Sensitive Information in an Environment Variable (CWE-526) vulnerability in Praison Praisonaiagents. Its CVSS base score is 7.4 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Unsecured Credentials (T1552); ranked at the 19th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SC-13 (Cryptographic Protection) and SC-28 (Protection of Information at Rest) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-40153 affects PraisonAIAgents, a multi-agent teams system, in versions prior to 1.5.128. The vulnerability resides in the execute_command function within shell_tools.py, where os.path.expandvars() is called on every command argument at line 64. This manually re-implements shell-level environment variable expansion despite the use of shell=False at line 88, which is intended for security. As a result, secrets stored in environment variables, such as database credentials, API keys, and cloud access keys, can be exfiltrated. The issue is rated at CVSS 7.4 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N) and maps to CWE-526 (Exposure of Sensitive Information Through Environmental Variables).
An attacker can exploit this vulnerability over the network with low complexity and no privileges required, but it necessitates user interaction in the form of a human reviewer approving a malicious command. In a typical scenario, an attacker crafts a command embedding references to environment variables like $VAR, which appears benign and unexpanded in the approval interface. Upon approval and execution, the variables expand, enabling the command to exfiltrate sensitive data without altering integrity or availability.
The GitHub security advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-v8g7-9q6v-p3x8 details the fix implemented in version 1.5.128, recommending immediate upgrades to mitigate the risk of secret exfiltration in multi-agent environments.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-21176
Vulnerability Data
PraisonAIAgents is a multi-agent teams system. Prior to 1.5.128, the execute_command function in shell_tools.py calls os.path.expandvars() on every command argument at line 64, manually re-implementing shell-level environment variable expansion despite using shell=False (line 88) for security. This allows exfiltration of…
more
secrets stored in environment variables (database credentials, API keys, cloud access keys). The approval system displays the unexpanded $VAR references to human reviewers, creating a deceptive approval where the displayed command differs from what actually executes. This vulnerability is fixed in 1.5.128.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Mandates use of cryptography to protect sensitive information, preventing its unencrypted storage in environment variables.
Requires confidentiality protection (typically encryption) for information at rest, directly stopping cleartext storage of sensitive data in environment variables.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Cryptography control directly addresses the lack of encryption for sensitive data stored in environment variables.
Classification drives decisions on what must be protected, indirectly discouraging cleartext storage of sensitive data.
Authentication secrets are a common type of sensitive information; the control requires protecting them, which this weakness violates.
Requires secure deletion of sensitive information, which would prevent leaving it in environment variables.
Data masking techniques can be applied to avoid storing sensitive values in cleartext environment variables.
DLP policies can detect and block the placement of sensitive data into environment variables.