In openclaw@2026.2.23, sandbox network hardening blocks network=host but still allows network=container:<id>.
This can let a sandbox join another container's network namespace and reach services available in that namespace.
This issue requires a trusted-operator configuration path (for example setting agents.defaults.sandbox.docker.network in gateway config). It is not an unauthenticated remote exploit by itself.
Current validation blocks only host, while forwarding other values to Docker create args:
validateNetworkMode(network) only rejects values in BLOCKED_NETWORK_MODES = {"host"}.buildSandboxCreateArgs(...) validates then forwards cfg.network into --network.container: as an accepted mode in network preparation.Effective behavior:
host -> blockedcontainer:<id> -> accepted and forwardedType: sandbox network isolation hardening bypass.
Practical impact depends on deployment:
Block namespace-join style network modes (including container:<id>) for sandbox containers, and keep strict allowlisting for safe network modes.
Fixed on main in commit 14b6eea6e:
https://github.com/openclaw/openclaw/commit/14b6eea6e
Follow-up refactor/cleanup (no policy rollback): https://github.com/openclaw/openclaw/commit/5552f9073
openclaw@2026.2.24 is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-02T23:37:46Z",
"cwe_ids": [
"CWE-284",
"CWE-693"
],
"severity": "MODERATE",
"nvd_published_at": "2026-03-19T22:16:39Z"
}