CVE-2026-57137: PraisonAI: approval bypass runs rejected agent tools

HIGHPoC AVAILABLECISA: ATTEND
Published September 15, 2026
CISO Take

PraisonAI's TypeScript agent loop (versions 1.4.0 to before 1.7.2) hands executable tools to the AI SDK before the onToolCall approval callback runs. A tool that a human or policy rejects has therefore already executed, and the denial is only logged afterward as tool_rejected. Any team that uses onToolCall as its human-in-the-loop or policy gate for file, command, API or data-modifying actions has no real control, and the audit log will wrongly show those actions as blocked. Exploitation likelihood is moderate (EPSS 0.5%, 59th percentile), and the CVE is not in CISA KEV, with no public exploit or Nuclei template. CISA SSVC rates it ATTEND, and the CVSS 8.8 reflects network reach, low complexity and high impact. Upgrade to 1.7.2 or later, and until then treat approval callbacks as non-functional and remove high-risk tools from affected agents.

Sources:NVDEPSSGitHub AdvisoryATLAS

What is the risk?

High. The flaw is a logic error in an authorization control, so no special skill is needed beyond being able to get the agent to call a tool. The attacker needs low privileges (an account or access to the agent's input channel) and no user interaction. Impact is high across confidentiality, integrity and availability because the bypassed tools can include shell, file and API actions. Exploitation signals are modest: no KEV listing, no public exploit and a low EPSS. Exposure is limited to deployments that use the TypeScript package with onToolCall as a security boundary. Dependents are unknown, so the blast radius cannot be quantified.

How does the attack unfold?

Initial Access
Attacker with low privileges, or injected content the agent reads, causes the agent to request a sensitive tool call.
AML.T0053
Approval Bypass
createAgentLoop() passes executable tools to generateText(), so the tool runs during generation before onToolCall is consulted.
AML.T0053
Impact
The rejected file, command, API or data-modifying operation completes and its output is placed in toolResults.
AML.T0101
Defense Evasion
The log records tool_rejected after the fact, so reviewers believe the action was blocked.

What systems are affected?

PackageEcosystemVulnerable RangePatched
PraisonAIpip—No patch
1 dependents61% patched~23d to patchFull package profile →

Do you use PraisonAI? You're affected.

How severe is it?

CVSS 3.1
8.8 / 10
EPSS
0.5%
chance of exploitation in 30 days
Higher than 43% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
○CISA SSVC: Public PoC
○Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRLow
UINone
SUnchanged
CHigh
IHigh
AHigh

What should I do?

6 steps
  1. Upgrade PraisonAI to 1.7.2 or later (see GHSA-h2w2-v7j6-xqm4 and the linked fix commit).

  2. Until patched, do not rely on onToolCall for security. Remove or disable destructive tools (shell, file write, delete, payment or admin APIs) for agents on affected versions.

  3. Run agents with least-privilege credentials, in sandboxed or containerized environments with restricted filesystem and network egress.

  4. Move enforcement into the tool handler itself (check authorization inside each tool before it acts).

  5. Detection: review logs for tool_rejected events and correlate them with actual side effects, such as file changes, process execution or API calls at the same time. Any match is evidence of the bypass being hit.

  6. Inventory repositories and lockfiles for praisonai or praisonaiagents in the affected range.

What does CISA's SSVC say?

DecisionAttend
Exploitationpoc
AutomatableNo
Technical Impacttotal

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Art. 14-Human oversight
ISO 42001
A.9.2-Processes for responsible use of AI systems
NIST AI RMF
MANAGE 2.3-Procedures to respond to and recover from unknown risks
OWASP LLM Top 10
LLM06-Excessive Agency

Frequently Asked Questions

What is CVE-2026-57137?

PraisonAI's TypeScript agent loop (versions 1.4.0 to before 1.7.2) hands executable tools to the AI SDK before the onToolCall approval callback runs. A tool that a human or policy rejects has therefore already executed, and the denial is only logged afterward as tool_rejected. Any team that uses onToolCall as its human-in-the-loop or policy gate for file, command, API or data-modifying actions has no real control, and the audit log will wrongly show those actions as blocked. Exploitation likelihood is moderate (EPSS 0.5%, 59th percentile), and the CVE is not in CISA KEV, with no public exploit or Nuclei template. CISA SSVC rates it ATTEND, and the CVSS 8.8 reflects network reach, low complexity and high impact. Upgrade to 1.7.2 or later, and until then treat approval callbacks as non-functional and remove high-risk tools from affected agents.

Is CVE-2026-57137 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2026-57137, increasing the risk of exploitation.

How to fix CVE-2026-57137?

1. Upgrade PraisonAI to 1.7.2 or later (see GHSA-h2w2-v7j6-xqm4 and the linked fix commit). 2. Until patched, do not rely on onToolCall for security. Remove or disable destructive tools (shell, file write, delete, payment or admin APIs) for agents on affected versions. 3. Run agents with least-privilege credentials, in sandboxed or containerized environments with restricted filesystem and network egress. 4. Move enforcement into the tool handler itself (check authorization inside each tool before it acts). 5. Detection: review logs for tool_rejected events and correlate them with actual side effects, such as file changes, process execution or API calls at the same time. Any match is evidence of the bypass being hit. 6. Inventory repositories and lockfiles for praisonai or praisonaiagents in the affected range.

What systems are affected by CVE-2026-57137?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, multi-agent systems, human-in-the-loop approval workflows, tool-calling pipelines.

What is the CVSS score for CVE-2026-57137?

CVE-2026-57137 has a CVSS v3.1 base score of 8.8 (HIGH). The EPSS exploitation probability is 0.51%.

What is the AI security impact?

Affected AI Architectures

agent frameworksmulti-agent systemshuman-in-the-loop approval workflowstool-calling pipelines

MITRE ATLAS Techniques

AML.T0053AI Agent Tool Invocation
AML.T0086Exfiltration via AI Agent Tool Invocation
AML.T0101Data Destruction via AI Agent Tool Invocation

Compliance Controls Affected

EU AI Act: Art. 14
ISO 42001: A.9.2
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM06

What are the technical details?

Original Advisory

PraisonAI is a multi-agent teams system. From 1.4.0 until 1.7.2, createAgentLoop() in src/praisonai-ts/src/ai/agent-loop.ts passes executable tools to generateText() before invoking the onToolCall approval callback. Because the wrapped AI SDK executes tool handlers during generation, a callback that returns false records tool_rejected only after the denied tool has already produced side effects and populated toolResults. Applications using onToolCall as a human or policy approval boundary can therefore execute rejected file, command, API, or data-modifying operations. This issue is fixed in version 1.7.2.

Exploitation Scenario

An organization deploys a PraisonAI TypeScript agent with a shell tool and file tools, and requires human approval through onToolCall for any destructive action. A low-privileged user, or an attacker using prompt injection through a document or web page the agent reads, steers the agent to call the shell tool with a command that exfiltrates credentials or deletes data. The approval callback prompts a reviewer, who rejects it. Because the AI SDK already executed the tool during generation, the command has run, and the log shows only tool_rejected. The team believes the control worked.

Weaknesses (CWE)

CWE-693 — Protection Mechanism Failure: The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Timeline

Published
September 15, 2026
Last Modified
September 15, 2026
First Seen
September 15, 2026

Related Vulnerabilities