Skip to main content

OpenHuman CVE-2026-55743

CRITICAL
OS Command Injection (CWE-78)
2026-06-17 TuranSec
9.4
CVSS 4.0 · Vendor: TuranSec
Share

Severity by source

Vendor (TuranSec) PRIMARY
9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
9.6 CRITICAL

Delivered via untrusted content the agent must ingest (UI:R) with no OS auth (PR:N); the bypass escapes the agent sandbox to the host OS, so S:C with full C/I/A impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

5
Analysis Updated
Aug 10, 2026 - 12:28 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Aug 10, 2026 - 12:22 vuln.today
cvss_changed
CVSS changed
Aug 10, 2026 - 12:22 NVD
9.6 (CRITICAL) 9.4 (CRITICAL)
Source Code Evidence Fetched
Jun 17, 2026 - 15:33 vuln.today
Analysis Generated
Jun 17, 2026 - 15:33 vuln.today

DescriptionCVE.org

The shell tool command allowlist in the SecurityPolicy of OpenHuman desktop agent through 0.54.0 (default Supervised security policy) can be bypassed to execute arbitrary OS commands with the privileges of the desktop user. Two flaws in src/openhuman/security/policy.rs combine: (1) is_args_safe() blocks the find flags -exec and -ok but not the functionally identical -execdir and -okdir, which also execute an arbitrary command for each matched file; and (2) skip_env_assignments() strips leading inline KEY=value environment-variable assignments before allowlist validation, so a command such as GIT_EXTERNAL_DIFF=<cmd> git diff is validated as the allowed git diff but, when executed via the shell, runs <cmd> through git's environment-driven hooks (for example GIT_EXTERNAL_DIFF or GIT_SSH_COMMAND). Because the sandbox is the primary trust boundary between untrusted LLM-processed content and the host operating system, an attacker can achieve remote code execution via indirect prompt injection: a malicious document, email, calendar event, or web page ingested by the agent instructs it to run a benign-looking allowlisted command, resulting in arbitrary command execution, data exfiltration, arbitrary file read/write, and lateral movement on the user's machine. The issue was fixed in commit 60050aa09a870f53ed7e4cd40ed41fd2860329e7 (first released in 0.54.22-staging; first stable release 0.56.0), which blocks -execdir/-okdir for find.

AnalysisAI

Sandbox-escape command injection in the tinyhumansai OpenHuman desktop agent (through version 0.54.0) lets attacker-controlled content trick the agent into running arbitrary OS commands as the desktop user despite the default Supervised allowlist. Two allowlist-bypass flaws in src/openhuman/security/policy.rs are combined via indirect prompt injection: find's -execdir/-okdir flags (unlike the blocked -exec/-ok) still run per-file commands, and leading inline env-var assignments (e.g. GIT_EXTERNAL_DIFF=<cmd> git diff) are stripped before validation but honored at shell execution. No public exploit identified at time of analysis and it is not on CISA KEV (SSVC exploitation: none), but the mechanism is fully documented in the advisory and fix commit, and EPSS is modest at 0.70%.

Technical ContextAI

OpenHuman is an LLM-driven desktop agent (Tauri/Rust) whose SecurityPolicy allowlist is the primary trust boundary between untrusted, LLM-processed content and the host OS. The vulnerability class is CWE-78 (OS Command Injection). The root cause is incomplete input validation in the shell-tool allowlist logic: is_args_safe() enumerates dangerous find flags but omits the semantically identical -execdir and -okdir, which GNU/BSD find will happily use to spawn a subprocess for every matched file; and skip_env_assignments() removes leading KEY=value prefixes before allowlist matching, so the command name that gets validated (git diff) differs from what the shell actually executes when git honors environment-driven hooks such as GIT_EXTERNAL_DIFF, GIT_SSH_COMMAND, or GIT_PAGER. The CPE cpe:2.3:a:tinyhumansai:openhuman:*:*:*:*:*:*:*:* confirms the affected package. The fix commit reveals the broader hook surface by introducing a DANGEROUS_ENV_PREFIXES denylist (LD_PRELOAD, DYLD_INSERT_LIBRARIES, BASH_ENV, PROMPT_COMMAND, PYTHONSTARTUP, PATH, IFS, and many git/pager variables), showing the env-prefix bypass was a whole family of attacks, not a single variable.

RemediationAI

Vendor-released patch: upgrade to OpenHuman 0.56.0 (first stable fixed release; the fix also exists in the 0.54.22-staging build and in commit 60050aa09a870f53ed7e4cd40ed41fd2860329e7 at https://github.com/tinyhumansai/openhuman/commit/60050aa09a870f53ed7e4cd40ed41fd2860329e7), which blocks find -execdir/-okdir and rejects commands carrying a dangerous leading environment-variable prefix. If you cannot upgrade immediately, reduce the attack surface of the shell tool: disable or tightly gate the agent's shell tool so allowlisted commands still require explicit human approval (trading away automation convenience for safety); if the shell tool must stay enabled, avoid allowlisting git and find (or any binary that honors environment hooks or spawns subprocesses), accepting that this breaks legitimate developer workflows the agent may rely on; and limit what untrusted content (emails, documents, calendar events, web pages) the agent auto-ingests and acts on, since indirect prompt injection is the delivery channel. Run the agent under a least-privileged OS account or sandbox so that a successful bypass yields minimal host access.

Share

CVE-2026-55743 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy