CVE-2026-56074
PraisonAI: Coarse-Grained Tool Approval Cache Bypasses Per-Invocation Consent for Shell Commands
Published Jul 13, 2026 · corrected/updated Oct 16, 2026 · evidence confidence high
## Summary The approval system in PraisonAI Agents caches tool approval decisions by tool name only, not by invocation arguments. Once a user approves for any command (e.g., ), all subsequent calls in that execution context bypass the approval prompt entirely. Combined with passing all process environment variables to subprocesses, this allows an LLM agent (potentially via prompt injection) to silently exfiltrate API keys and credentials without further user consent. ## Details The decorator in checks approval status by tool name only: The function in stores only the tool name string: The approval context is never cleared during agent execution — exists ( ) but is never called in the agent's tool execution path ( ). Meanwhile, the UI at misleads the user: The UI displays the specific command arguments (lines 81-85), creating a reasonable expectation that the user is approving only that specific invocation. Additionally, passes the full process environment to every subprocess: There is no command filtering, blocklist, or environment variable sanitization in the shell tools module. ## PoC ## Impact - **Secret exfiltration**: An LLM agent (or one subjected to prompt injection) can dump all process environment variables after a single benign command approval. Common secrets include , , , and any other credentials passed via environment. - **Misleading consent UI**: The console prompt displays specific arguments and uses language ("this tool") that implies per-invocation consent, but the system grants session-wide blanket approval. - **No expiration or scope**: The approval cache uses a that persists for the entire agent execution context with no timeout, no command-count limit, and no clearing between tool calls. - **No environment filtering**: passes every environment variable to subprocesses without filtering sensitive patterns. ## Recommended Fix 1. **Per-invocation approval for critical tools** — store a hash of instead of just , or require re-approval for each invo
Grounded briefings
Catalog interpretations for three audiences. Each brief cites ingested metadata and the original advisories below. They are not independent research and they do not invent exploit steps.
Executive
CVE-2026-56074 is a medium public vulnerability record for this product. It is not currently listed in the CISA Known Exploited catalog. Check the linked vendor or CERT advisories for patch status. This summary is a catalog interpretation of the ingested metadata and cites the original advisories below.
System administrator
Identify whether this product is in your estate, then compare installed versions with the affected ranges. Affected packages or ranges on record: praisonaiagents (0 → 4.5.128). Check the linked vendor or CERT advisories for patch status. Prefer the vendor or distribution advisory linked in Sources before changing production systems. This is a catalog interpretation, not a runbook.
Security analyst
Signals on file: CVSS 5.5. It is not currently listed in the CISA Known Exploited catalog. Sources contributing to this record: cve_org, github, osv. Public exploit references, when present, are outbound links only and are not proof of active exploitation. This is a catalog interpretation of stored metadata.
Exploitation and remediation
Exploitation evidence
Not listed as known exploited in CISA KEV. Not in the CISA KEV catalog.
Patch and remediation
No required-action text is stored yet. Use the vendor or CERT links in Sources for patch availability.
Safe detection guidance
Compare installed versions with the affected ranges below and verify the advisory from the original publisher. This site stores metadata and outbound links only; it does not ship exploit code or proof-of-concept payloads.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Jul 13, 2026 · GitHub Advisory Database
Detected
## Summary The approval system in PraisonAI Agents caches tool approval decisions by tool name only, not by invocation arguments. Once a user approves for any command (e.g., ), all subsequent calls in that execution context bypass the approval prompt entirely. Combined with passing all process environment variables to subprocesses, this allows an LLM agent (potentially via prompt injection) to sil
Oct 13, 2026 · GitHub Advisory Database
Fix available
praisonaiagents fixed in 4.5.128
Oct 13, 2026 · GitHub Advisory Database
Fix available
praisonaiagents fixed in 4.5.128
Oct 13, 2026 · GitHub Advisory Database
Updated
## Summary The approval system in PraisonAI Agents caches tool approval decisions by tool name only, not by invocation arguments. Once a user approves for any command (e.g., ), all subsequent calls in that execution context bypass the approval prompt entirely. Combined with passing all process environment variables to subprocesses, this allows an LLM agent (potentially via prompt injection) to sil
Oct 16, 2026 · GitHub Advisory Database
Updated
## Summary The approval system in PraisonAI Agents caches tool approval decisions by tool name only, not by invocation arguments. Once a user approves for any command (e.g., ), all subsequent calls in that execution context bypass the approval prompt entirely. Combined with passing all process environment variables to subprocesses, this allows an LLM agent (potentially via prompt injection) to sil
Affected
- PyPI praisonaiagents0 → 4.5.128
Sources
- CVE.orgVulnerability recordCVE-2026-56074
Official CVE identifier
cve.org - GitHub Advisory DatabasePackage advisoryGHSA-ffp3-3562-8cv3
GitHub Advisory Database record mirrored by OSV.
github.com - OSV.devPackage advisoryPYSEC-2026-2946
PraisonAI: Coarse-Grained Tool Approval Cache Bypasses Per-Invocation Consent for Shell Commands
osv.dev