/

CVE-2026-54143

Severity:

CRITICAL RISK

(9.8)

Command Injection (CWE-78) in OpenHuman Agent Harness

CVE-2026-54143

Received

Vulnerability type

Category:

Command Injection

CWE:

CWE-78, CWE-285

Impact:

Unauthorized Persistent Command Execution

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

OpenHuman can be induced to create persistent shell cron jobs when an attacker sends messages through a configured external channel, without human approval. The jobs run with the privileges of the OpenHuman runtime user, and command validation may allow redirection to a helper executable already present on the host.

OpenHuman can be induced to create persistent shell cron jobs when an attacker sends messages through a configured external channel, without human approval. The jobs run with the privileges of the OpenHuman runtime user, and command validation may allow redirection to a helper executable already present on the host.

Affected context

The issue affects OpenHuman deployments where the agent can receive messages from a configured external channel and use its scheduler to create shell cron jobs. Risk is higher when a suitable helper executable is present on the host and command validation accepts leading environment assignments that can redirect an allowed command. The scheduled jobs run with the privileges of the OpenHuman runtime user.

The issue affects OpenHuman deployments where the agent can receive messages from a configured external channel and use its scheduler to create shell cron jobs. Risk is higher when a suitable helper executable is present on the host and command validation accepts leading environment assignments that can redirect an allowed command. The scheduled jobs run with the privileges of the OpenHuman runtime user.

Exploit preconditions

  • Attack surface: A configured external messaging channel connected to the agent
  • Required access: Ability to send messages through that channel; direct host access is not described as necessary
  • Trigger point: Agent handling of a message that leads it to create a scheduled shell job
  • Additional condition: A suitable helper executable must already be available on the host
  • Why exploitation is possible: Command validation permits leading environment assignments that can redirect allowed commands, and job creation can occur without human approval
  • Attack surface: A configured external messaging channel connected to the agent
  • Required access: Ability to send messages through that channel; direct host access is not described as necessary
  • Trigger point: Agent handling of a message that leads it to create a scheduled shell job
  • Additional condition: A suitable helper executable must already be available on the host
  • Why exploitation is possible: Command validation permits leading environment assignments that can redirect allowed commands, and job creation can occur without human approval

Why this happens

The issue combines insufficient command validation with a lack of authorization or approval safeguards for persistent job creation. Allowing leading environment assignments can undermine command restrictions by changing how an allowed command is resolved, corresponding to CWE-78: Improper Neutralization of Special Elements used in an OS Command. Creating cron jobs without an appropriate approval boundary also relates to CWE-285: Improper Authorization.

The issue combines insufficient command validation with a lack of authorization or approval safeguards for persistent job creation. Allowing leading environment assignments can undermine command restrictions by changing how an allowed command is resolved, corresponding to CWE-78: Improper Neutralization of Special Elements used in an OS Command. Creating cron jobs without an appropriate approval boundary also relates to CWE-285: Improper Authorization.

Potential impact

  • An attacker may cause persistent command execution under the OpenHuman runtime user's privileges.
  • Commands could access or alter data and resources available to that user.
  • Persistent jobs could enable continued activity after the initial message interaction.
  • A compromised runtime could affect connected systems or services, depending on its access.
  • An attacker may cause persistent command execution under the OpenHuman runtime user's privileges.
  • Commands could access or alter data and resources available to that user.
  • Persistent jobs could enable continued activity after the initial message interaction.
  • A compromised runtime could affect connected systems or services, depending on its access.

General mitigation guidance

Defensive approaches generally focus on preventing untrusted messages from directly controlling shell commands or persistent scheduling.

  • Prefer fixed, structured operations over constructing shell commands from agent-controlled content.
  • Apply strict command allowlists and reject environment assignments or other syntax that can change command resolution.
  • Require explicit human authorization before creating persistent jobs or other durable actions.
  • Run the agent with least-privilege permissions and limit its access to sensitive data, executables, and host resources.
  • Reduce trust in external-channel input and constrain which tools and actions that input can invoke.
  • Where feasible, isolate scheduled tasks and restrict the executables and environment they can access.

Defensive approaches generally focus on preventing untrusted messages from directly controlling shell commands or persistent scheduling.

  • Prefer fixed, structured operations over constructing shell commands from agent-controlled content.
  • Apply strict command allowlists and reject environment assignments or other syntax that can change command resolution.
  • Require explicit human authorization before creating persistent jobs or other durable actions.
  • Run the agent with least-privilege permissions and limit its access to sensitive data, executables, and host resources.
  • Reduce trust in external-channel input and constrain which tools and actions that input can invoke.
  • Where feasible, isolate scheduled tasks and restrict the executables and environment they can access.

How teams detect issues like this

  • Use static analysis to identify shell command construction, permissive command validators, and paths from external messages to process execution.
  • Review agent tool permissions and approval flows for cron or other persistent-job creation.
  • Check whether validation accepts environment assignments or permits command resolution to vary at runtime.
  • Monitor for unexpected cron job creation and scheduled commands running under the agent's account.
  • Enforce policy checks that require human approval for persistent actions and restrict agent access to process-execution capabilities.
  • Automated code review tools may help flag risky command-execution and authorization patterns.
  • Use static analysis to identify shell command construction, permissive command validators, and paths from external messages to process execution.
  • Review agent tool permissions and approval flows for cron or other persistent-job creation.
  • Check whether validation accepts environment assignments or permits command resolution to vary at runtime.
  • Monitor for unexpected cron job creation and scheduled commands running under the agent's account.
  • Enforce policy checks that require human approval for persistent actions and restrict agent access to process-execution capabilities.
  • Automated code review tools may help flag risky command-execution and authorization patterns.

Sources

SourceLink
github.comgithub.com/tinyhumansai/openhuman/commit/3a7180da7765af861bf44d79e025fc67dbeae0ca
github.comgithub.com/tinyhumansai/openhuman/commit/4d9fe2072fdd5787023bafa2c7a63b6f8a7e9b93
github.comgithub.com/tinyhumansai/openhuman/pull/2736
github.comgithub.com/tinyhumansai/openhuman/pull/3227
github.comgithub.com/tinyhumansai/openhuman/releases/tag/v0.57.13
github.comgithub.com/tinyhumansai/openhuman/security/advisories/GHSA-f46p-6vf9-64mm

Frequently asked

questions

An attacker who can send messages through a channel configured for the agent may be able to trigger job creation. The described exploit also depends on a suitable helper executable being present on the host.

Direct host access is not described as a prerequisite. The relevant access is the ability to send messages through the configured channel, alongside the required host-side helper condition.

Avoid shell command construction from agent-controlled input, use strict command validation, and require explicit approval before creating persistent jobs.

Treat external messages as untrusted, restrict agent tools and runtime privileges, and monitor or enforce policy around command execution and durable actions.

An attacker who can send messages through a channel configured for the agent may be able to trigger job creation. The described exploit also depends on a suitable helper executable being present on the host.

Direct host access is not described as a prerequisite. The relevant access is the ability to send messages through the configured channel, alongside the required host-side helper condition.

Avoid shell command construction from agent-controlled input, use strict command validation, and require explicit approval before creating persistent jobs.

Treat external messages as untrusted, restrict agent tools and runtime privileges, and monitor or enforce policy around command execution and durable actions.

Find out what's already
exploitable in your codebase.