CVE-2026-75858: CodeWhale: rlm_eval RCE bypasses approval policy

GHSA-wrj3-vj8c-784fHIGHPoC AVAILABLECISA: ATTEND
Published August 18, 2026
CISO Take

CodeWhale's rlm_eval tool has a broken authorization check: approval_requirement() hardcodes ApprovalRequirement::Auto, so the agent runs model-supplied Python code in a python3 interpreter without ever consulting the user's --approval-policy or showing an approval prompt. This matters because the trigger isn't a careless local user — it's untrusted content the agent reads during normal work (a web page, a fetched URL, a repository file, or an MCP tool result), with the companion rlm_open tool able to stage that payload, so a single indirect prompt injection converts "read this page" into full code execution at the user's privilege level (CVSS 7.8, C:H/I:H/A:H). There is no CISA KEV listing, no public exploit or Nuclei template, and EPSS is low in absolute terms (0.267%, though top 81st percentile relative to all scored CVEs), so this looks pre-exploitation rather than under active attack — but a silently-disabled approval gate is exactly the kind of AI-agent design flaw that gets weaponized fast once it's public. Any team running CodeWhale/codewhale-tui as a coding agent should treat untrusted-content workflows (web browsing, arbitrary repo checkout, third-party MCP servers) as a hard blocker until patched. Upgrade to >= 0.8.64 immediately; until then disable or sandbox rlm_eval/rlm_open, restrict the agent from fetching untrusted URLs/repos, and audit recent sessions for unexpected python3 child-process execution.

Sources:NVDGitHub AdvisoryEPSSATLASVulnCheck

What is the risk?

High severity (CVSS 7.8) but locally-scoped and requiring user interaction to trigger — the agent must be induced to read attacker-controlled content. The real risk driver is that the vulnerability defeats the product's own safety control (approval gating) rather than exploiting a parsing bug, so any workflow that already grants the agent tool access is exposed with no additional privilege needed. No active exploitation (not in CISA KEV), no public exploit or scanner template, and EPSS is low in absolute terms, so near-term mass exploitation is unlikely. However, exploitability is trivial once an attacker can place content the agent will read (web page, repo, MCP result), and impact is complete (C:H/I:H/A:H) at the user's privilege level, so exposure should be treated as high for any user routinely pointing the agent at untrusted external content.

How does the attack unfold?

Initial Access via Indirect Injection
Attacker plants malicious instructions in content the agent will later read (web page, repo file, or MCP result), staged via the rlm_open tool.
AML.T0051.001
Tool Invocation
The agent is coerced into calling rlm_eval with attacker-supplied Python code as part of normal task execution.
AML.T0053
Approval Bypass and Execution
approval_requirement() incorrectly returns Auto, so the engine skips the user's approval policy and runs the code in python3 with no prompt.
AML.T0050
Impact
Arbitrary code executes at the user's privilege level, enabling full compromise of the local machine.
AML.T0112.000

What systems are affected?

PackageEcosystemVulnerable RangePatched
DeepSeek TUInpm>= 0.8.41, < 0.8.640.8.64
DeepSeek TUIcargo>= 0.8.41, < 0.8.640.8.64
DeepSeek TUInpm>= 0.8.33, < 0.8.410.8.41
DeepSeek TUIcargo>= 0.8.33, <= 0.8.41No patch

How severe is it?

CVSS 3.1
7.8 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 30% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Moderate
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
AVLocal
ACLow
PRNone
UIRequired
SUnchanged
CHigh
IHigh
AHigh

What should I do?

1 step
  1. 1) Upgrade codewhale / codewhale-tui to >= 0.8.64 (and deepseek-tui to >= 0.8.41) immediately — this is the fix commit referenced in GHSA-wrj3-vj8c-784f. 2) Until patched, disable the rlm_eval and rlm_open tools entirely, or run the agent inside an isolated sandbox/VM with no access to sensitive credentials or the host filesystem. 3) Avoid using the agent to browse arbitrary web pages, clone untrusted repositories, or consume results from third-party MCP servers while unpatched. 4) Detection: monitor for python3 processes spawned as children of the codewhale/codewhale-tui process outside of expected user-approved sessions; review shell/process history for unexpected script execution correlated with agent activity. 5) After upgrading, verify the --approval-policy flag is actually honored by testing that rlm_eval prompts for approval on a benign injected instruction.

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
Article 14-Human Oversight
ISO 42001
Annex A.9-AI system operation and monitoring
NIST AI RMF
GOVERN 1.1 / MANAGE 2.3-Human oversight of AI system actions
OWASP LLM Top 10
LLM01:2025-Prompt InjectionLLM06:2025-Excessive Agency

Frequently Asked Questions

What is CVE-2026-75858?

CodeWhale's rlm_eval tool has a broken authorization check: approval_requirement() hardcodes ApprovalRequirement::Auto, so the agent runs model-supplied Python code in a python3 interpreter without ever consulting the user's --approval-policy or showing an approval prompt. This matters because the trigger isn't a careless local user — it's untrusted content the agent reads during normal work (a web page, a fetched URL, a repository file, or an MCP tool result), with the companion rlm_open tool able to stage that payload, so a single indirect prompt injection converts "read this page" into full code execution at the user's privilege level (CVSS 7.8, C:H/I:H/A:H). There is no CISA KEV listing, no public exploit or Nuclei template, and EPSS is low in absolute terms (0.267%, though top 81st percentile relative to all scored CVEs), so this looks pre-exploitation rather than under active attack — but a silently-disabled approval gate is exactly the kind of AI-agent design flaw that gets weaponized fast once it's public. Any team running CodeWhale/codewhale-tui as a coding agent should treat untrusted-content workflows (web browsing, arbitrary repo checkout, third-party MCP servers) as a hard blocker until patched. Upgrade to >= 0.8.64 immediately; until then disable or sandbox rlm_eval/rlm_open, restrict the agent from fetching untrusted URLs/repos, and audit recent sessions for unexpected python3 child-process execution.

Is CVE-2026-75858 actively exploited?

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

How to fix CVE-2026-75858?

1) Upgrade codewhale / codewhale-tui to >= 0.8.64 (and deepseek-tui to >= 0.8.41) immediately — this is the fix commit referenced in GHSA-wrj3-vj8c-784f. 2) Until patched, disable the rlm_eval and rlm_open tools entirely, or run the agent inside an isolated sandbox/VM with no access to sensitive credentials or the host filesystem. 3) Avoid using the agent to browse arbitrary web pages, clone untrusted repositories, or consume results from third-party MCP servers while unpatched. 4) Detection: monitor for python3 processes spawned as children of the codewhale/codewhale-tui process outside of expected user-approved sessions; review shell/process history for unexpected script execution correlated with agent activity. 5) After upgrading, verify the --approval-policy flag is actually honored by testing that rlm_eval prompts for approval on a benign injected instruction.

What systems are affected by CVE-2026-75858?

This vulnerability affects the following AI/ML architecture patterns: agent frameworks, AI coding assistants / CLI agents, MCP tool integrations.

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

CVE-2026-75858 has a CVSS v3.1 base score of 7.8 (HIGH). The EPSS exploitation probability is 0.36%.

What is the AI security impact?

Affected AI Architectures

agent frameworksAI coding assistants / CLI agentsMCP tool integrations

MITRE ATLAS Techniques

AML.T0011.002Poisoned AI Agent Tool
AML.T0050Command and Scripting Interpreter
AML.T0051.001Indirect
AML.T0053AI Agent Tool Invocation
AML.T0112.000Local AI Agent

Compliance Controls Affected

EU AI Act: Article 14
ISO 42001: Annex A.9
NIST AI RMF: GOVERN 1.1 / MANAGE 2.3
OWASP LLM Top 10: LLM01:2025, LLM06:2025

What are the technical details?

Original Advisory

CodeWhale (packages codewhale / codewhale-tui) versions >= 0.8.41 and < 0.8.64 contain a remote code execution vulnerability in the rlm_eval tool. The tool's approval_requirement() returns ApprovalRequirement::Auto, which the engine treats as 'never prompt,' causing arbitrary model-supplied Python code to run in a python3 interpreter without consulting the user's configured --approval-policy and without any approval prompt or audit step. An attacker can induce the agent to execute arbitrary code via prompt injection in untrusted content the agent reads (a web page, fetched URL, repository file, or MCP tool result); the companion rlm_open tool can stage such content. Code runs on the user's machine at the user's privilege level. Fixed in 0.8.64.

Exploitation Scenario

An attacker publishes a webpage, GitHub repository README, or an MCP-served document containing hidden instructions (e.g., in a code comment, invisible text, or embedded within seemingly normal content). A developer asks their CodeWhale agent to summarize or work with that content; the agent's rlm_open tool fetches and stages it, and the embedded instructions coerce the agent into invoking rlm_eval with attacker-supplied Python. Because approval_requirement() always returns Auto for this tool, the engine skips the user's configured approval policy entirely and executes the code immediately in python3 — no prompt, no audit trail — giving the attacker arbitrary code execution on the developer's machine at their privilege level (credential theft, backdoor install, lateral movement into connected systems).

Weaknesses (CWE)

CWE-862 — Missing Authorization: The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

  • [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
  • [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].

Source: MITRE CWE corpus.

CVSS Vector

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

Timeline

Published
August 18, 2026
Last Modified
September 4, 2026
First Seen
August 18, 2026

Related Vulnerabilities