Findings

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.

  1. 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

  2. Oct 13, 2026 · GitHub Advisory Database

    Fix available

    praisonaiagents fixed in 4.5.128

  3. Oct 13, 2026 · GitHub Advisory Database

    Fix available

    praisonaiagents fixed in 4.5.128

  4. 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

  5. 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

References