CVE-2026-31992: Openclaw OpenClaw Has Allowlist Exec-guard Bypass Vulnerability

MODERATE
Advisory Identifier: GHSA-48wf-g7cp-gr3m
CWE-193 CWE-184
Published
Advisory Summary

CVE-2026-31992 is a MODERATE openclaw has allowlist exec-guard bypass vulnerability (CWE-193: Off-by-one Error) affecting Openclaw libraries in the npm ecosystem. The issue involves openclaw has allowlist exec-guard bypass via env -s. Remediation is available by upgrading affected packages to version 2026.2.23.

CVE-2026-31992 at a Glance

CVE Identifier CVE-2026-31992
GHSA Identifier GHSA-48wf-g7cp-gr3m
Severity MODERATE
CVSS v3.1 Base Score N/A
CWE Classification CWE-193: Off-by-one Error
Affected Product Openclaw
Package Ecosystem npm
Published Date
Last Updated

How to Fix CVE-2026-31992

To remediate this vulnerability, upgrade all affected Openclaw dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

openclaw fixed: 2026.2.23
npm install openclaw@2026.2.23
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls openclaw

How to Check if You Are Affected

To determine whether your Node.js application is affected by CVE-2026-31992, inspect your project dependencies using npm:

npm ls openclaw

Analyze the terminal output to locate any version of Openclaw in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2026.2.23), your application is affected.

Note: The npm ls openclaw command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-193: Off-by-one Error, where a product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value. In Openclaw, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Summary In `allowlist` mode, `system.run` guardrails could be bypassed through `env -S`, causing policy-analysis/runtime-execution mismatch for shell wrapper payloads. ### Severity Rationale (Medium) This issue is rated **medium** because it is a guardrail/policy bypass in OpenClaw's trusted-operator model, not an authentication boundary break. - Authenticated Gateway callers are trusted operators by design. - `exec` approvals/allowlists are operator safety controls. - The bug still weakens expected safety behavior and can enable unintended command execution when untrusted content influences tool input. ### Affected Packages / Versions - Package: `openclaw` (npm) - Vulnerable versions: `<= 2026.2.22-2` - Patched versions: `>= 2026.2.23` Latest published npm version checked during triage: `2026.2.22-2`. ### Technical Impact When `/usr/bin/env` is allowlisted, `env -S 'sh -c ...'` could be treated as allowed non-wrapper argv while runtime still executes shell-wrapper semantics. ### Fix Commit(s) - `a1c4bf07c6baad3ef87a0e710fe9aef127b1f606` (core allowlist/runtime parity hardening) - `3f923e831364d83d0f23499ee49961de334cf58b` (explicit `env -S` regressions) ### Release Process Note `patched_versions` is pre-set to `>= 2026.2.23`, so this advisory is now public. OpenClaw thanks @tdjackey for reporting.

CVE-2026-31992 Affected Openclaw Versions

1 component(s)
Fixed Versions:
2026.2.23
Product / Package Ecosystem Affected Versions Fixed Version
openclaw
npm
< 2026.2.23
2026.2.23

References

Frequently Asked Questions

What is CVE-2026-31992?
CVE-2026-31992 is a security vulnerability in Openclaw involving OpenClaw has allowlist exec-guard bypass via env -S under CWE-193: Off-by-one Error.
Which Openclaw versions are affected?
Affected versions include releases prior to 2026.2.23 across affected packages: openclaw.
What version fixes CVE-2026-31992?
Upgrading to 2026.2.23 (or the latest patched release for your respective branch) resolves the vulnerability.
Is openclaw affected?
Yes, openclaw is affected in releases prior to 2026.2.23. Upgrade your dependency to 2026.2.23 or later.
What CWE is associated with CVE-2026-31992?
CVE-2026-31992 is classified under CWE-193: Off-by-one Error (A product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value.).
How can I check npm dependencies for CVE-2026-31992?
Run the dependency tree command: 'npm ls openclaw'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-48wf-g7cp-gr3m",
  "modified" : "2026-03-20T21:36:21Z",
  "published" : "2026-03-03T18:00:06Z",
  "aliases" : [ "CVE-2026-31992" ],
  "summary" : "OpenClaw has allowlist exec-guard bypass via env -S",
  "details" : "### Summary\nIn `allowlist` mode, `system.run` guardrails could be bypassed through `env -S`, causing policy-analysis/runtime-execution mismatch for shell wrapper payloads.\n\n### Severity Rationale (Medium)\nThis issue is rated **medium** because it is a guardrail/policy bypass in OpenClaw's trusted-operator model, not an authentication boundary break.\n\n- Authenticated Gateway callers are trusted operators by design.\n- `exec` approvals/allowlists are operator safety controls.\n- The bug still weakens expected safety behavior and can enable unintended command execution when untrusted content influences tool input.\n\n### Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Vulnerable versions: `<= 2026.2.22-2`\n- Patched versions: `>= 2026.2.23`\n\nLatest published npm version checked during triage: `2026.2.22-2`.\n\n### Technical Impact\nWhen `/usr/bin/env` is allowlisted, `env -S 'sh -c ...'` could be treated as allowed non-wrapper argv while runtime still executes shell-wrapper semantics.\n\n### Fix Commit(s)\n- `a1c4bf07c6baad3ef87a0e710fe9aef127b1f606` (core allowlist/runtime parity hardening)\n- `3f923e831364d83d0f23499ee49961de334cf58b` (explicit `env -S` regressions)\n\n### Release Process Note\n`patched_versions` is pre-set to `>= 2026.2.23`, so this advisory is now public.\n\nOpenClaw thanks @tdjackey for reporting.",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "openclaw"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "2026.2.23"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/openclaw/openclaw/security/advisories/GHSA-48wf-g7cp-gr3m"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-31992"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/openclaw/openclaw/commit/3f923e831364d83d0f23499ee49961de334cf58b"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/openclaw/openclaw/commit/a1c4bf07c6baad3ef87a0e710fe9aef127b1f606"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/openclaw/openclaw"
  }, {
    "type" : "WEB",
    "url" : "https://www.vulncheck.com/advisories/openclaw-allowlist-exec-guard-bypass-via-env-s"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-184", "CWE-193" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-03-03T18:00:06Z",
    "nvd_published_at" : null
  }
}