Alta

OpenClaw Improperly Neutralizes Line Breaks in systemd Unit Generation Enables Local Command Execution (Linux)

  • Publicada: 03.03.2026
  • Actualizado: 11.10.2026 10:22

Summary

A command injection vulnerability exists in OpenClaw’s Linux systemd unit generation path. When rendering Environment= entries, attacker-controlled values are not rejected for CR/LF, and systemdEscapeArg() uses an incorrect whitespace-matching regex. This allows newline injection to break out of an Environment= line and inject standalone systemd directives (for example, ExecStartPre=). On service restart, the injected command is executed, resulting in local arbitrary command execution (local RCE) under the gateway service user.


Details

The issue is in src/daemon/systemd-unit.ts:

  • renderEnvLines(...) builds:
  • Environment=${systemdEscapeArg(${key}=${value})}
  • No CR/LF validation is enforced for environment keys/values before writing unit lines.
  • systemdEscapeArg(...) uses:
  • /[\\s"\\\\]/
  • In this regex, \\s is interpreted as a literal backslash + s, not a whitespace character class. As a result, whitespace detection/quoting behavior is incorrect. Because systemd parses unit files line-by-line, a newline inside an environment value can inject an additional directive line. Example rendered output:
ini
Environment=INJECT=ok
ExecStartPre=/bin/touch /tmp/oc15789_rce

At restart time, systemd executes ExecStartPre, enabling command execution.

Relevant code path/components involved in exploitation chain:

  • src/daemon/systemd-unit.ts
  • src/commands/daemon-install-helpers.ts
  • src/config/env-vars.ts
  • src/config/zod-schema.ts

Trigger conditions:

  1. Attacker can influence config.env.vars (directly or indirectly).
  2. Install/reinstall path is invoked to write/update the unit.
  3. Service restart occurs (systemctl --user restart ...).

PoC

Environment: Linux host with systemd user services enabled.

  1. Configure a malicious environment value in OpenClaw config (config.env.vars), including a newline and injected directive:
  • Key: INJECT
  • Value:
ok
ExecStartPre=/bin/touch /tmp/oc15789_rce
  1. Install/reinstall the gateway service (fixed port as requested):
bash
openclaw gateway install --port 15789 --force
  1. Inspect the generated user unit file (default path):
bash
~/.config/systemd/user/openclaw-gateway.service

Verify that an injected standalone line exists:

ini
ExecStartPre=/bin/touch /tmp/oc15789_rce
  1. Reload and restart user service:
bash
systemctl --user daemon-reload
bash
systemctl --user restart openclaw-gateway.service
  1. Confirm command execution side effect:
bash
ls -l /tmp/oc15789_rce

Impact

This is a local command execution vulnerability in OpenClaw’s systemd unit generation during install/reinstall flows.

  • Type: Command injection via newline/directive injection in unit file generation.
  • Execution context: Runs with the same privileges as the OpenClaw gateway service user.
  • Affected users: Linux deployments using systemd user services where an attacker can control config.env.vars and trigger install/reinstall.

Fix Commit(s)

  • 61f646c41fb43cd87ed48f9125b4718a30d38e84

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de npm openclaw < 2026.2.21 2026.2.21

Referencias

Puntuación CVSS -
Vector CVSS
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Debilidad (CWE)
CWE-77
Plataforma
npm
Paquete
openclaw
Publicada
03.03.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-vffc-f7r7-rx2w - CC BY 4.0

Historial de vulnerabilidades: openclaw

Todas las vulnerabilidades publicadas de este paquete (Paquete de npm), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (588) en el archivo
Entradas en total
588
Primera → última
02.2026 07.2026
Sin corrección
9
Explotada en ataques
0

Distribución por gravedad

  • Crítica 20
  • Alta 215
  • Media 299
  • Baja 54

Divulgaciones por año

  1. 2026: 588
Gravedad:
  1. OpenClaw Improperly Neutralizes Line Breaks in systemd Unit Generation Enables Local Command Execution (Linux) esta entrada
    Alta CVE-2026-32063 < 2026.2.21 2026.2.21
  2. Alta · 8.8 CVE-2026-53811 < 2026.5.7 2026.5.7
  3. Alta · 8.8 CVE-2026-53806 < 2026.5.12 2026.5.12
  4. Alta · 7.8 CVE-2026-53813 < 2026.4.25 2026.4.25
  5. Alta · 7.5 CVE-2026-53834 < 2026.4.27 2026.4.27
  6. Crítica CVE-2026-34507 < 2026.4.29 2026.4.29
  7. Alta CVE-2026-53823 < 2026.5.3 2026.5.3
  8. Alta · 8.4 CVE-2026-53814 < 2026.5.20 2026.5.20
  9. Alta · 6.5 CVE-2026-53815 < 2026.5.19 2026.5.19
  10. Alta · 8.1 CVE-2026-53849 < 2026.5.7 2026.5.7
  11. Alta · 8.1 CVE-2026-53857 < 2026.5.3 2026.5.3
  12. Alta · 8.1 CVE-2026-53866 < 2026.5.12 2026.5.12
  13. Alta · 8.1 CVE-2026-53864 < 2026.5.26 2026.5.26
  14. Crítica · 9.8 CVE-2026-44109 < 2026.4.15 2026.4.15
  15. Crítica · 8.1 CVE-2026-43585 < 2026.4.15 2026.4.15
  16. Alta · 8.8 CVE-2026-43530 >= 2026.2.23, < 2026.4.12 2026.4.12
  17. Alta · 8.8 CVE-2026-42434 >= 2026.4.5, < 2026.4.10 2026.4.10
  18. Alta · 7.5 CVE-2026-42437 >= 2026.4.9, < 2026.4.10 2026.4.10
Mostrar más (20) Mostrando 61 de 235

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.