VYPR
High severity8.8NVD Advisory· Published Jun 11, 2026

CVE-2026-53806

CVE-2026-53806

Description

Combined POSIX shell flags in OpenClaw before 2026.5.12 bypass exec revalidation, enabling unauthorized command execution.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Combined POSIX shell flags in OpenClaw before 2026.5.12 bypass exec revalidation, enabling unauthorized command execution.

Vulnerability

In OpenClaw before version 2026.5.12, the exec revalidation feature contains a time-of-check time-of-use (TOCTOU) race condition in its handling of combined POSIX shell flags [2]. When a command request includes combined shell options (e.g., -abc instead of -a -b -c), the parsing of these options may differ between the approval-time validation and the execution-time processing [1]. This discrepancy allows an attacker to craft a request that passes the allowlist check at approval time but executes different content at runtime. The vulnerability is accessible only when the affected feature is enabled [1].

Exploitation

An attacker who can submit command requests to the allowlist feature (typically an authenticated Gateway operator) sends a crafted request that uses combined POSIX shell flags. Because the approval and execution parsers interpret the combined flags differently, the request passes the allowlist validation but executes inline shell content that was not intended to be authorized [1]. This leverages a TOCTOU race window between the two parsing phases [2].

Impact

Successful exploitation allows the attacker to execute arbitrary shell commands with the privileges of the affected OpenClaw component, bypassing the intended allowlist restrictions. Depending on the deployment configuration, this could result in full compromise of confidentiality, integrity, and availability of the host system [2]. The impact is constrained to scenarios where the vulnerable feature is enabled and reachable by the attacker [1].

Mitigation

The first stable patched version is OpenClaw 2026.5.12 [1]. As a workaround until patching is possible, administrators should avoid using combined shell option forms in allowlisted commands, keep channel and tool allowlists narrow, avoid sharing a Gateway between mutually untrusted users, and disable the affected feature when it is not needed [1].

AI Insight generated on Jun 11, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

2
  • OpenClaw/Openclawinferred2 versions
    <2026.5.12+ 1 more
    • (no CPE)range: <2026.5.12
    • (no CPE)range: <2026.5.12

Patches

1
f066dd2f31c2

chore(release): prepare 2026.5.12

https://github.com/OpenClaw/OpenClawPeter SteinbergerMay 14, 2026Fixed in 2026.5.12via release-tag
124 files changed · +214 214
  • CHANGELOG.md+1 1 modified
    @@ -2,7 +2,7 @@
     
     Docs: https://docs.openclaw.ai
     
    -## Unreleased
    +## 2026.5.12
     
     ### Changes
     
    
  • extensions/acpx/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/acpx",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw ACP runtime backend",
       "repository": {
         "type": "git",
    @@ -26,10 +26,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8",
    +      "openclawVersion": "2026.5.12",
           "staticAssets": [
             {
               "source": "./src/runtime-internals/mcp-proxy.mjs",
    
  • extensions/alibaba/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/alibaba-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Alibaba Model Studio video provider plugin",
       "type": "module",
    
  • extensions/amazon-bedrock-mantle/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/amazon-bedrock-mantle-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Amazon Bedrock Mantle (OpenAI-compatible) provider plugin",
       "repository": {
         "type": "git",
    @@ -25,10 +25,10 @@
           "minHostVersion": ">=2026.5.12-beta.6"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8",
    +      "openclawVersion": "2026.5.12",
           "bundledDist": false
         },
         "release": {
    
  • extensions/amazon-bedrock/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/amazon-bedrock-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Amazon Bedrock provider plugin",
       "repository": {
         "type": "git",
    @@ -27,10 +27,10 @@
           "minHostVersion": ">=2026.5.12-beta.6"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8",
    +      "openclawVersion": "2026.5.12",
           "bundledDist": false
         },
         "release": {
    
  • extensions/anthropic/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/anthropic-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Anthropic provider plugin",
       "type": "module",
    
  • extensions/anthropic-vertex/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/anthropic-vertex-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Anthropic Vertex provider plugin",
       "repository": {
         "type": "git",
    @@ -25,10 +25,10 @@
           "minHostVersion": ">=2026.5.12-beta.6"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8",
    +      "openclawVersion": "2026.5.12",
           "bundledDist": false
         },
         "release": {
    
  • extensions/arcee/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/arcee-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Arcee provider plugin",
       "type": "module",
    
  • extensions/azure-speech/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/azure-speech",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Azure Speech plugin",
       "type": "module",
    
  • extensions/bonjour/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/bonjour",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Bonjour/mDNS gateway discovery",
       "type": "module",
       "dependencies": {
    
  • extensions/brave/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/brave-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Brave plugin",
       "repository": {
         "type": "git",
    @@ -20,10 +20,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/browser/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/browser-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw browser tool plugin",
       "type": "module",
    
  • extensions/byteplus/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/byteplus-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw BytePlus provider plugin",
       "type": "module",
    
  • extensions/canvas/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/canvas-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Canvas plugin",
       "type": "module",
    
  • extensions/canvas/src/host/a2ui/.bundle.hash+1 1 modified
    @@ -1 +1 @@
    -2041ea91d5bbadd4fca2a4c9473c5647ae5fcdedaf57bd91ccbcf8ac285cb360
    +086ca3619ef4f0a84e08eb1ff5123e8647ea9f250ae5d85b84b296e6be7f8fb7
    
  • extensions/cerebras/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/cerebras-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Cerebras provider plugin",
       "type": "module",
    
  • extensions/chutes/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/chutes-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Chutes.ai provider plugin",
       "type": "module",
    
  • extensions/clickclack/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/clickclack",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw ClickClack channel plugin",
       "type": "module",
    @@ -18,7 +18,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/cloudflare-ai-gateway/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/cloudflare-ai-gateway-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Cloudflare AI Gateway provider plugin",
       "type": "module",
    
  • extensions/codex/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/codex",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Codex harness and model provider plugin",
       "repository": {
         "type": "git",
    @@ -27,10 +27,10 @@
           "minHostVersion": ">=2026.5.1-beta.1"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/comfy/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/comfy-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw ComfyUI provider plugin",
       "type": "module",
    
  • extensions/copilot-proxy/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/copilot-proxy",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Copilot Proxy provider plugin",
       "type": "module",
    
  • extensions/deepgram/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/deepgram-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Deepgram media-understanding provider",
       "type": "module",
    
  • extensions/deepinfra/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/deepinfra-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw DeepInfra provider plugin",
       "type": "module",
    
  • extensions/deepseek/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/deepseek-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw DeepSeek provider plugin",
       "type": "module",
    
  • extensions/diagnostics-otel/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/diagnostics-otel",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw diagnostics OpenTelemetry exporter",
       "repository": {
         "type": "git",
    @@ -34,10 +34,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/diagnostics-prometheus/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/diagnostics-prometheus",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw diagnostics Prometheus exporter",
       "repository": {
         "type": "git",
    @@ -21,10 +21,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/diffs/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/diffs",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw diff viewer plugin",
       "repository": {
         "type": "git",
    @@ -31,10 +31,10 @@
           "minHostVersion": ">=2026.4.30"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8",
    +      "openclawVersion": "2026.5.12",
           "staticAssets": [
             {
               "source": "./assets/viewer-runtime.js",
    
  • extensions/discord/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/discord",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Discord channel plugin",
       "repository": {
         "type": "git",
    @@ -21,7 +21,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -65,10 +65,10 @@
           "allowInvalidConfigRecovery": true
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/document-extract/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/document-extract-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw local document extraction plugin",
       "type": "module",
    
  • extensions/duckduckgo/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/duckduckgo-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw DuckDuckGo plugin",
       "type": "module",
    
  • extensions/elevenlabs/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/elevenlabs-speech",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw ElevenLabs speech plugin",
       "type": "module",
    
  • extensions/exa/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/exa-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Exa plugin",
       "type": "module",
    
  • extensions/fal/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/fal-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw fal provider plugin",
       "type": "module",
    
  • extensions/feishu/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/feishu",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Feishu/Lark channel plugin (community maintained by @m1heng)",
       "repository": {
         "type": "git",
    @@ -17,7 +17,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -48,10 +48,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/file-transfer/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/file-transfer",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw file transfer plugin (file_fetch, dir_list, dir_fetch, file_write)",
       "type": "module",
       "dependencies": {
    
  • extensions/firecrawl/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/firecrawl-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Firecrawl plugin",
       "type": "module",
    
  • extensions/fireworks/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/fireworks-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Fireworks provider plugin",
       "type": "module",
    
  • extensions/github-copilot/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/github-copilot-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw GitHub Copilot provider plugin",
       "type": "module",
    
  • extensions/googlechat/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/googlechat",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Google Chat channel plugin",
       "repository": {
         "type": "git",
    @@ -17,7 +17,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -75,10 +75,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/google-meet/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/google-meet",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Google Meet participant plugin",
       "repository": {
         "type": "git",
    @@ -16,7 +16,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -33,10 +33,10 @@
           "minHostVersion": ">=2026.4.20"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/google/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/google-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Google plugin",
       "type": "module",
    
  • extensions/gradium/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/gradium-speech",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Gradium speech plugin",
       "type": "module",
    
  • extensions/groq/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/groq-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Groq media-understanding provider",
       "type": "module",
    
  • extensions/huggingface/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/huggingface-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Hugging Face provider plugin",
       "type": "module",
    
  • extensions/image-generation-core/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/image-generation-core",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw image generation runtime package",
       "type": "module",
    
  • extensions/imessage/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/imessage",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw iMessage channel plugin using imsg on a signed-in Mac",
       "type": "module",
    @@ -40,10 +40,10 @@
           ]
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         }
       },
       "pluginInspector": {
    
  • extensions/inworld/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/inworld-speech",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Inworld speech plugin",
       "type": "module",
    
  • extensions/irc/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/irc",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw IRC channel plugin",
       "type": "module",
       "devDependencies": {
    
  • extensions/kilocode/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/kilocode-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Kilo Gateway provider plugin",
       "type": "module",
    
  • extensions/kimi-coding/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/kimi-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Kimi provider plugin",
       "type": "module",
    
  • extensions/line/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/line",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw LINE channel plugin",
       "repository": {
         "type": "git",
    @@ -16,7 +16,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -46,10 +46,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/litellm/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/litellm-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw LiteLLM provider plugin",
       "type": "module",
    
  • extensions/llm-task/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/llm-task",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw JSON-only LLM task plugin",
       "type": "module",
    
  • extensions/lmstudio/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/lmstudio-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw LM Studio provider plugin",
       "type": "module",
    
  • extensions/lobster/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/lobster",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "Lobster workflow tool plugin (typed pipelines + resumable approvals)",
       "repository": {
         "type": "git",
    @@ -25,10 +25,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/matrix/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/matrix",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Matrix channel plugin",
       "repository": {
         "type": "git",
    @@ -22,7 +22,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -87,10 +87,10 @@
           "allowInvalidConfigRecovery": true
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/mattermost/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/mattermost",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Mattermost channel plugin",
       "repository": {
         "type": "git",
    @@ -16,7 +16,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/media-understanding-core/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/media-understanding-core",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw media understanding runtime package",
       "type": "module",
    
  • extensions/memory-core/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/memory-core",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw core memory search plugin",
       "type": "module",
    @@ -14,7 +14,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/memory-lancedb/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/memory-lancedb",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture",
       "repository": {
         "type": "git",
    @@ -26,10 +26,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/memory-wiki/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/memory-wiki",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw persistent wiki plugin",
       "type": "module",
    @@ -14,7 +14,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/microsoft-foundry/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/microsoft-foundry",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Microsoft Foundry provider plugin",
       "type": "module",
    
  • extensions/microsoft/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/microsoft-speech",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Microsoft speech plugin",
       "type": "module",
    
  • extensions/migrate-claude/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/migrate-claude",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "Claude to OpenClaw migration provider",
       "type": "module",
    @@ -9,7 +9,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/migrate-hermes/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/migrate-hermes",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "Hermes to OpenClaw migration provider",
       "type": "module",
    @@ -12,7 +12,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/minimax/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/minimax-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw MiniMax provider and OAuth plugin",
       "type": "module",
    
  • extensions/mistral/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/mistral-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Mistral provider plugin",
       "type": "module",
    
  • extensions/moonshot/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/moonshot-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Moonshot provider plugin",
       "type": "module",
    
  • extensions/msteams/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/msteams",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Microsoft Teams channel plugin",
       "repository": {
         "type": "git",
    @@ -22,7 +22,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -58,10 +58,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/nextcloud-talk/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/nextcloud-talk",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Nextcloud Talk channel plugin",
       "repository": {
         "type": "git",
    @@ -12,7 +12,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -44,10 +44,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/nostr/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/nostr",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Nostr channel plugin for NIP-04 encrypted DMs",
       "repository": {
         "type": "git",
    @@ -16,7 +16,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -54,10 +54,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/nvidia/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/nvidia-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw NVIDIA provider plugin",
       "type": "module",
    
  • extensions/oc-path/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/oc-path",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw oc:// workspace path plugin",
       "type": "module",
    @@ -14,7 +14,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/ollama/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/ollama-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Ollama provider plugin",
       "type": "module",
    
  • extensions/openai/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/openai-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw OpenAI provider plugins",
       "type": "module",
    
  • extensions/opencode-go/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/opencode-go-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw OpenCode Go provider plugin",
       "type": "module",
    
  • extensions/opencode/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/opencode-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw OpenCode Zen provider plugin",
       "type": "module",
    
  • extensions/open-prose/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/open-prose",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenProse VM skill pack plugin (slash command + telemetry).",
       "type": "module",
    
  • extensions/openrouter/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/openrouter-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw OpenRouter provider plugin",
       "type": "module",
    
  • extensions/openshell/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/openshell-sandbox",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw OpenShell sandbox backend",
       "repository": {
         "type": "git",
    @@ -24,10 +24,10 @@
           "minHostVersion": ">=2026.5.12-beta.6"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/perplexity/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/perplexity-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Perplexity plugin",
       "type": "module",
    
  • extensions/qa-channel/package.json+2 2 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qa-channel",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw QA synthetic channel plugin",
       "type": "module",
    @@ -19,7 +19,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    
  • extensions/qa-lab/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qa-lab",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw QA lab plugin with private debugger UI and scenario runner",
       "type": "module",
    @@ -19,7 +19,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -31,7 +31,7 @@
           "./index.ts"
         ],
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         }
       }
     }
    
  • extensions/qa-matrix/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qa-matrix",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Matrix QA runner plugin",
       "type": "module",
    @@ -13,7 +13,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -25,7 +25,7 @@
           "./index.ts"
         ],
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         }
       }
     }
    
  • extensions/qianfan/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qianfan-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Qianfan provider plugin",
       "type": "module",
    
  • extensions/qqbot/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qqbot",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": false,
       "description": "OpenClaw QQ Bot channel plugin",
       "repository": {
    @@ -21,7 +21,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -50,10 +50,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/qwen/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/qwen-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Qwen Cloud provider plugin",
       "type": "module",
    
  • extensions/runway/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/runway-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Runway video provider plugin",
       "type": "module",
    
  • extensions/searxng/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/searxng-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw SearXNG plugin",
       "type": "module",
    
  • extensions/senseaudio/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/senseaudio-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw SenseAudio media-understanding provider",
       "type": "module",
    
  • extensions/sglang/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/sglang-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw SGLang provider plugin",
       "type": "module",
    
  • extensions/signal/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/signal",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Signal channel plugin",
       "type": "module",
    
  • extensions/skill-workshop/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/skill-workshop",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw skill workshop plugin",
       "type": "module",
    
  • extensions/slack/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/slack",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Slack channel plugin",
       "repository": {
         "type": "git",
    @@ -19,7 +19,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -63,10 +63,10 @@
           "minHostVersion": ">=2026.5.12-beta.6"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/speech-core/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/speech-core",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw speech runtime package",
       "type": "module",
    
  • extensions/stepfun/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/stepfun-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw StepFun provider plugin",
       "type": "module",
    
  • extensions/synology-chat/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/synology-chat",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "Synology Chat channel plugin for OpenClaw",
       "repository": {
         "type": "git",
    @@ -30,10 +30,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/synthetic/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/synthetic-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Synthetic provider plugin",
       "type": "module",
    
  • extensions/tavily/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/tavily-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Tavily plugin",
       "type": "module",
    
  • extensions/telegram/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/telegram",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Telegram channel plugin",
       "type": "module",
    
  • extensions/tencent/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/tencent-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Tencent Cloud provider plugin (TokenHub + Token Plan)",
       "type": "module",
    
  • extensions/tlon/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/tlon",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Tlon/Urbit channel plugin",
       "repository": {
         "type": "git",
    @@ -19,7 +19,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -73,10 +73,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/together/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/together-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Together provider plugin",
       "type": "module",
    
  • extensions/tokenjuice/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/tokenjuice",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "Bundled tokenjuice exec output compaction plugin",
       "type": "module",
       "dependencies": {
    
  • extensions/tts-local-cli/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/tts-local-cli",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw local CLI TTS plugin",
       "type": "module",
    
  • extensions/twitch/package.json+3 3 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/twitch",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Twitch channel plugin",
       "repository": {
         "type": "git",
    @@ -27,10 +27,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "channel": {
           "id": "twitch",
    
  • extensions/venice/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/venice-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Venice provider plugin",
       "type": "module",
    
  • extensions/vercel-ai-gateway/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/vercel-ai-gateway-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Vercel AI Gateway provider plugin",
       "type": "module",
    
  • extensions/video-generation-core/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/video-generation-core",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw video generation runtime package",
       "type": "module",
    
  • extensions/vllm/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/vllm-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw vLLM provider plugin",
       "type": "module",
    
  • extensions/voice-call/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/voice-call",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw voice-call plugin",
       "repository": {
         "type": "git",
    @@ -18,7 +18,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -35,10 +35,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/volcengine/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/volcengine-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Volcengine provider plugin",
       "type": "module",
    
  • extensions/voyage/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/voyage-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Voyage embedding provider plugin",
       "type": "module",
    
  • extensions/vydra/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/vydra-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Vydra media provider plugin",
       "type": "module",
    
  • extensions/webhooks/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/webhooks",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw webhook bridge plugin",
       "type": "module",
    
  • extensions/web-readability/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/web-readability-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw local Readability web extraction plugin",
       "type": "module",
    
  • extensions/whatsapp/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/whatsapp",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw WhatsApp channel plugin",
       "repository": {
         "type": "git",
    @@ -20,7 +20,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -63,10 +63,10 @@
           "minHostVersion": ">=2026.4.25"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/xai/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/xai-plugin",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw xAI plugin",
       "type": "module",
    
  • extensions/xiaomi/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/xiaomi-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Xiaomi provider plugin",
       "type": "module",
    
  • extensions/zai/package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/zai-provider",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "private": true,
       "description": "OpenClaw Z.AI provider plugin",
       "type": "module",
    
  • extensions/zalo/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/zalo",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Zalo channel plugin",
       "repository": {
         "type": "git",
    @@ -12,7 +12,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -43,10 +43,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • extensions/zalouser/package.json+4 4 modified
    @@ -1,6 +1,6 @@
     {
       "name": "@openclaw/zalouser",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "OpenClaw Zalo Personal Account plugin via native zca-js integration",
       "repository": {
         "type": "git",
    @@ -17,7 +17,7 @@
         "openclaw": "workspace:*"
       },
       "peerDependencies": {
    -    "openclaw": ">=2026.5.12-beta.8"
    +    "openclaw": ">=2026.5.12"
       },
       "peerDependenciesMeta": {
         "openclaw": {
    @@ -54,10 +54,10 @@
           "minHostVersion": ">=2026.4.10"
         },
         "compat": {
    -      "pluginApi": ">=2026.5.12-beta.8"
    +      "pluginApi": ">=2026.5.12"
         },
         "build": {
    -      "openclawVersion": "2026.5.12-beta.8"
    +      "openclawVersion": "2026.5.12"
         },
         "release": {
           "publishToClawHub": true,
    
  • package.json+1 1 modified
    @@ -1,6 +1,6 @@
     {
       "name": "openclaw",
    -  "version": "2026.5.12-beta.8",
    +  "version": "2026.5.12",
       "description": "Multi-channel AI gateway with extensible messaging integrations",
       "keywords": [],
       "homepage": "https://github.com/openclaw/openclaw#readme",
    

Vulnerability mechanics

Root cause

"The shell option parser does not decompose combined POSIX short-form flags (e.g., `-ce`) before validating them against the allowlist, allowing bypass of exec revalidation checks."

Attack vector

The vulnerability lies in how OpenClaw parses POSIX shell options when executing commands. An attacker who can supply a shell command string can combine multiple short-form flags (e.g., `-c` with other flags) into a single argument like `-ce`. The parser's allowlist validation checks each flag individually but fails to recognize combined flags, so a combined argument like `-ce` passes the revalidation check even though `-c` would normally trigger inline execution of the following argument. This allows an attacker to execute arbitrary shell commands that bypass the intended allowlist restrictions [patch_id=5643580]. The attack requires the affected shell-execution feature to be enabled and the attacker to have a low-privilege account that can submit commands.

What the fix does

The patch shown is a release-version bump across all extension package.json files (e.g., `@openclaw/nostr`, `@openclaw/google-meet`, etc.) from `2026.5.12-beta.8` to `2026.5.12`. This is a versioning commit that marks the release containing the fix; the actual code-level fix for the combined shell flag parsing is not visible in this diff. The advisory indicates that the fix addresses the parser's failure to decompose combined POSIX shell flags (e.g., `-ce`) before checking them against the allowlist, thereby preventing bypass of exec revalidation.

Preconditions

  • configThe shell-execution feature must be enabled in the OpenClaw configuration.
  • authThe attacker must have a low-privilege authenticated account that can submit commands.
  • inputThe attacker must be able to supply a shell command string containing combined POSIX flags.

Generated on Jun 11, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.