Staging Environment: Content and features may be unstable or change without notice.
Advisory details: github_osv / GHSA-vffc-f7r7-rx2w
Advisory ID github_osv/GHSA-vffc-f7r7-rx2w
Aliases CVE-2026-32063
Summary OpenClaw Improperly Neutralizes Line Breaks in systemd Unit Generation Enables Local Command Execution (Linux) ### 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: ```text ok ExecStartPre=/bin/touch /tmp/oc15789_rce ``` 2. Install/reinstall the gateway service (fixed port as requested): ```bash openclaw gateway install --port 15789 --force ``` 3. 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 ``` 4. Reload and restart user service: ```bash systemctl --user daemon-reload ``` ```bash systemctl --user restart openclaw-gateway.service ``` 5. 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`
Status Published
Exploitability 0.5
Weighted Severity 7.7
Risk 3.9
Affected and Fixed Packages Package Details
Introduced and Fixed Package Commit Patches Package Commit Patches Details
Weaknesses (1)
No exploits are available.

No EPSS data available for this advisory.

Patch URL
There are no known patches.
Vector: 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 Found at https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-vffc-f7r7-rx2w/GHSA-vffc-f7r7-rx2w.json
Attack Vector (AV) Attack Complexity (AC) Attack Requirements (AT) Privileges Required (PR) User Interaction (UI) Vulnerable System Impact Confidentiality (VC) Vulnerable System Impact Integrity (VI) Vulnerable System Impact Availability (VA) Subsequent System Impact Confidentiality (SC) Subsequent System Impact Integrity (SI) Subsequent System Impact Availability (SA)

network

adjacent

local

physical

low

high

none

present

none

low

high

none

passive

active

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none

high

low

none

Vector: SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2026-03-11T14:35:33Z/

Decision: Track*

Source URL: https://github.com/cisagov/vulnrichment/blob/develop/2026/32xxx/CVE-2026-32063.json

Source Advisory: vulnrichment/CVE-2026-32063

View SSVC decision tree
[{'Exploitation': 'poc'},
 {'Automatable': 'no'},
 {'Technical Impact': 'total'},
 {'Mission Prevalence': 'minimal'},
 {'Public Well-being Impact': 'material'},
 {'Mission & Well-being': 'medium'}]