GHSA-5h2c-8v84-qpvr
OpenClaw shell-env fallback trusted startup env and could execute attacker-influenced login-shell paths
Summary
OpenClaw shell-env fallback trusted startup environment values and could execute attacker-influenced login-shell startup paths before loading env keys.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected versions:
>= 2026.1.5and<= 2026.2.21-2 - Fixed on
main:9363c320d8ffe29290906752fab92621da02c3f7 - Planned patched release version (pre-set):
2026.2.22
Details
The vulnerable chain was in the shell-env fallback path:
src/infra/shell-env.ts
resolveShell(env)trustedenv.SHELLwhen set.execLoginShellEnvZero(...)executed${SHELL} -l -c "env -0"with inherited runtime env.
src/config/io.ts
- Config env values were applied before shell fallback execution.
src/config/env-vars.ts/ env policy coverage
SHELLhandling was hardened, but startup-path selectors (HOME,ZDOTDIR) still needed explicit blocking in config env ingestion and sanitization for shell fallback execution.
With env/config influence, this could trigger unintended command execution in shell startup processing on the OpenClaw host process context.
Fix
Mainline hardening now:
- blocks
SHELL,HOME, andZDOTDIRduring config env ingestion used by runtime fallback, - sanitizes shell fallback execution env, pinning
HOMEto the real user home and droppingZDOTDIR+ dangerous startup vars, - adds regression tests for config env ingestion and shell fallback/path-probe sanitization.
Fix Commit(s)
9363c320d8ffe29290906752fab92621da02c3f7
Impact
- Local code-execution risk in environments where attacker-controlled env/config input can reach shell-env fallback.
- Under OpenClaw trust assumptions (
SECURITY.md), this is not a public-remote issue and depends on crossing local trusted-operator boundaries.
Release Process Note
patched_versions is intentionally pre-set to the planned next release (2026.2.22) so once npm release is out, maintainers can publish advisory immediately.
OpenClaw thanks @tdjackey for reporting.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
What each source reports
GitHub Advisories Score used 5.3
OpenClaw shell-env fallback trusted startup env and could execute attacker-influenced login-shell paths
Summary
OpenClaw shell-env fallback trusted startup environment values and could execute attacker-influenced login-shell startup paths before loading env keys.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected versions:
>= 2026.1.5and<= 2026.2.21-2 - Fixed on
main:9363c320d8ffe29290906752fab92621da02c3f7 - Planned patched release version (pre-set):
2026.2.22
Details
The vulnerable chain was in the shell-env fallback path:
src/infra/shell-env.ts
resolveShell(env)trustedenv.SHELLwhen set.execLoginShellEnvZero(...)executed${SHELL} -l -c "env -0"with inherited runtime env.
src/config/io.ts
- Config env values were applied before shell fallback execution.
src/config/env-vars.ts/ env policy coverage
SHELLhandling was hardened, but startup-path selectors (HOME,ZDOTDIR) still needed explicit blocking in config env ingestion and sanitization for shell fallback execution.
With env/config influence, this could trigger unintended command execution in shell startup processing on the OpenClaw host process context.
Fix
Mainline hardening now:
- blocks
SHELL,HOME, andZDOTDIRduring config env ingestion used by runtime fallback, - sanitizes shell fallback execution env, pinning
HOMEto the real user home and droppingZDOTDIR+ dangerous startup vars, - adds regression tests for config env ingestion and shell fallback/path-probe sanitization.
Fix Commit(s)
9363c320d8ffe29290906752fab92621da02c3f7
Impact
- Local code-execution risk in environments where attacker-controlled env/config input can reach shell-env fallback.
- Under OpenClaw trust assumptions (
SECURITY.md), this is not a public-remote issue and depends on crossing local trusted-operator boundaries.
Release Process Note
patched_versions is intentionally pre-set to the planned next release (2026.2.22) so once npm release is out, maintainers can publish advisory immediately.
OpenClaw thanks @tdjackey for reporting.
- Record
GHSA-5h2c-8v84-qpvr- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-15, CWE-78
- Updated
- 2026-11-02
OSV 5.3
OpenClaw shell-env fallback trusted startup env and could execute attacker-influenced login-shell paths
Summary
OpenClaw shell-env fallback trusted startup environment values and could execute attacker-influenced login-shell startup paths before loading env keys.
Affected Packages / Versions
- Package:
openclaw(npm) - Affected versions:
>= 2026.1.5and<= 2026.2.21-2 - Fixed on
main:9363c320d8ffe29290906752fab92621da02c3f7 - Planned patched release version (pre-set):
2026.2.22
Details
The vulnerable chain was in the shell-env fallback path:
src/infra/shell-env.ts
resolveShell(env)trustedenv.SHELLwhen set.execLoginShellEnvZero(...)executed${SHELL} -l -c "env -0"with inherited runtime env.
src/config/io.ts
- Config env values were applied before shell fallback execution.
src/config/env-vars.ts/ env policy coverage
SHELLhandling was hardened, but startup-path selectors (HOME,ZDOTDIR) still needed explicit blocking in config env ingestion and sanitization for shell fallback execution.
With env/config influence, this could trigger unintended command execution in shell startup processing on the OpenClaw host process context.
Fix
Mainline hardening now:
- blocks
SHELL,HOME, andZDOTDIRduring config env ingestion used by runtime fallback, - sanitizes shell fallback execution env, pinning
HOMEto the real user home and droppingZDOTDIR+ dangerous startup vars, - adds regression tests for config env ingestion and shell fallback/path-probe sanitization.
Fix Commit(s)
9363c320d8ffe29290906752fab92621da02c3f7
Impact
- Local code-execution risk in environments where attacker-controlled env/config input can reach shell-env fallback.
- Under OpenClaw trust assumptions (
SECURITY.md), this is not a public-remote issue and depends on crossing local trusted-operator boundaries.
Release Process Note
patched_versions is intentionally pre-set to the planned next release (2026.2.22) so once npm release is out, maintainers can publish advisory immediately.
OpenClaw thanks @tdjackey for reporting.
- Record
GHSA-5h2c-8v84-qpvr- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-15, CWE-78
- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openclawnpm | before 2026.2.22 | 2026.2.22 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-5h2c-8v84-qpvr is a medium vulnerability (CVSS 5.3) in openclaw, published March 3, 2026. No source lists public exploit code. Fixed in openclaw 2026.2.22.