OpenHuman
CVE-2026-55743
CRITICAL
Severity by source
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
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.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
5DescriptionCVE.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.
Same weakness CWE-78 – OS Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today