CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-53854

CVE-2026-53854: Privilege Escalation via Wildcard Authorization Inheritance in OpenClaw

Amit Schendel
Amit Schendel
Senior Security Researcher

Jun 19, 2026·5 min read·57 visits

Executive Summary (TL;DR)

A privilege escalation vulnerability in OpenClaw allows low-privilege internal/webchat senders to inherit wildcard administrative permissions, leading to unauthorized owner-level command execution.

CVE-2026-53854 is an authorization bypass vulnerability in OpenClaw, an open-source WhatsApp gateway CLI and Pi RPC agent. The flaw exists in the command authentication flow where low-privilege actors communicating via internal or webchat interfaces inherit global wildcard authorization states across channel boundaries. This cross-channel inheritance allows unauthorized command execution with administrative privileges.

Vulnerability Overview

OpenClaw is a WhatsApp gateway CLI built on the Baileys web API with an integrated Pi RPC agent. The system coordinates message routing across multiple channels, including WhatsApp chats, Slack, Discord, internal debug interfaces, and local webchat configurations.

To secure sensitive administration functions, OpenClaw implements an operator-trust model. This mechanism differentiates between operators with full administrative capabilities and channel-scoped users who are restricted to limited, non-administrative commands.

Authorization for administrative commands is governed by the ownerAllowFrom setting, which defines authorized identifiers for owner-level actions. A weakness exists in how the gateway evaluates authorization states when commands are received over internal or webchat communication paths, resulting in incorrect authorization enforcement.

Root Cause Analysis

The root cause of CVE-2026-53854 is classified under CWE-863 (Incorrect Authorization). The vulnerability occurs within the command-routing controller during authorization checks on incoming messages.

When evaluating permissions, the controller checks whether the channel configuration has wildcard privileges enabled, designated by a wildcard value (such as *) within the ownerAllowFrom setting. If a high-privilege channel utilizes this wildcard configuration, the state context of the controller is flagged as authorized.

Due to insufficient boundary isolation, this authorization state is not cleared before subsequent evaluations of other channels. When a lower-privileged user sends a request via an internal or webchat communication path, the authorization engine references the uncleared, active state. This state inheritance allows the lower-privilege connection to execute restricted commands with administrative permissions.

Code-Level Flow Analysis

The following code block demonstrates a conceptual model of the vulnerable context-handling loop, where the authorization state is retained across requests:

// Vulnerable Controller State Evaluation
class CommandController {
  constructor() {
    this.authState = {}; // Shared context variable
  }
 
  evaluateAuthorization(request) {
    // If the channel configuration specifies a wildcard, the state is flag-marked
    if (request.channelConfig.ownerAllowFrom === '*') {
      this.authState.isOwnerAllowed = true;
    }
    // BUG: If isOwnerAllowed is true from a previous evaluation, 
    // it is never reset to false for subsequent channels that do not have wildcards.
    return this.authState.isOwnerAllowed;
  }
}

To resolve this vulnerability, the context validation must be explicitly restricted to the current request scope. Re-initializing the context on every evaluation cycle prevents previous authorization outcomes from leaking into new sessions:

// Patched Controller State Evaluation
class CommandController {
  evaluateAuthorization(request) {
    // Fix: Scope state evaluation locally to prevent bleed across boundaries
    let isOwnerAllowed = false;
 
    if (request.channelConfig.ownerAllowFrom === '*') {
      isOwnerAllowed = true;
    } else {
      // Perform explicit credential and channel verification
      isOwnerAllowed = this.verifySenderIdentity(request.sender, request.channelConfig.ownerAllowFrom);
    }
    return isOwnerAllowed;
  }
}

Threat Modeling & Exploitation Steps

Exploiting CVE-2026-53854 requires a low-privilege attacker to have network access to an active, exposed OpenClaw gateway instance. The target gateway must also have at least one channel configured with a wildcard administrative setting.

The attacker initiates a connection using the webchat path or internal command interface. By sending a request that triggers the evaluation routine, the attacker forces the controller to process authorization against the active state context.

Because the shared context contains the wildcard flag inherited from the high-privilege configuration, the check passes. The command is successfully routed and executed with full operator-style rights, bypassing standard access controls.

Impact Assessment and Risk Matrix

The potential consequences of successful exploitation include complete compromise of gateway integrity. An attacker can execute arbitrary commands directly on the host system or through the connected Pi RPC agent.

Since OpenClaw controls the message transmission lifecycle, unauthorized administrative commands allow attackers to inject malicious messages, manipulate session databases, and intercept incoming communications. Additionally, the RPC interface could be used to interact with hardware peripherals managed by the host system.

The vulnerability is scored with a Medium severity rating of 6.0 on the CVSS scale. This score reflects the requirement for low-level initial privileges (PR:L) and specific configuration preconditions (AT:P), balancing the overall risk despite the high integrity impact.

Defensive Engineering & Remediation

The primary defense against this vulnerability is updating OpenClaw to version 2026.4.25 or later. This release enforces strict context boundary checks, preventing the sharing of authorization variables between channels.

If upgrading is not immediately possible, operators should eliminate wildcard operators in configuration files. Explicit allowlists should replace any entries containing wildcards in the ownerAllowFrom parameters.

Administrators must also implement network access control lists to isolate the webchat and internal interfaces. Restricting access to trusted administrative hosts or local loopback interfaces reduces the overall remote attack surface.

Technical Appendix

CVSS Score
6.0/ 10
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Affected Systems

OpenClaw
AttributeDetail
CWE IDCWE-863
Attack VectorNetwork
CVSS Score6.0
EPSS Score0.00247
Exploit StatusNone
CISA KEV StatusNot Listed
CWE-863
Incorrect Authorization

Vulnerability Timeline

CVE Published and assigned by VulnCheck
2026-06-16
GitHub Security Advisory published to GitHub Advisory Database
2026-06-18

References & Sources

  • [1]GitHub Security Advisory GHSA-4hpg-mp64-x7xq

More Reports

•about 9 hours ago•CVE-2026-12411
8.4

CVE-2026-12411: Cross-Guest Volume Hijack via DevLXD Device PATCH in Canonical LXD

CVE-2026-12411 is a broken access control vulnerability in the DevLXD interface of Canonical LXD versions 6.6 through 6.8. The flaw resides in the devLXDInstancePatchHandler component, which fails to verify storage volume ownership when an instance attaches a new disk device via the /dev/lxd guest socket. When the security.devlxd.management.volumes configuration option is enabled, an untrusted guest or DevLXD identity can issue a crafted HTTP PATCH request referencing another tenant's custom storage volume. The LXD host daemon subsequently mounts the target volume into the requesting guest, permitting unauthorized cross-tenant read and write operations.

Amit Schendel
Amit Schendel
6 views•10 min read
•about 10 hours ago•CVE-2026-105769
9.3

CVE-2026-105769: Azure Entra ID Token Exfiltration in Kaniko via Unanchored ACR Hostname Regex

CVE-2026-105769 (GHSA-5q7h-w9jf-cx97, GO-2026-6225) is an origin validation error and credential exfiltration vulnerability affecting Kaniko prior to version 1.25.20. The flaw stems from an unanchored regular expression in the integrated Azure Container Registry (ACR) credential helper (github.com/chrismellard/docker-credential-acr-env). When Kaniko processes a Dockerfile containing an image reference hosted on a lookalike domain containing an ACR suffix as a substring (e.g., x.azurecr.io.attacker.com), the credential helper acquires a Microsoft Entra ID access token for Azure Resource Manager and transmits it via HTTP POST to the attacker-controlled host.

Amit Schendel
Amit Schendel
10 views•11 min read
•about 11 hours ago•CVE-2026-62300
6.5

CVE-2026-62300: Uncontrolled Resource Consumption in filecoin-pin Daemon

CVE-2026-62300 is an uncontrolled resource consumption vulnerability (CWE-400) affecting the daemon mode of filecoin-pin in versions up to and including 1.1.0. The daemon implements the IPFS Pinning Service API to store content on Filecoin's Proof of Data Possession (PDP) service. Due to the absence of rate limits, concurrency caps, execution timeouts, and Directed Acyclic Graph (DAG) traversal limits, an authenticated user—or an unauthenticated user when authentication is disabled—can exhaust system resources via crafted POST /pins requests.

Amit Schendel
Amit Schendel
8 views•11 min read
•about 12 hours ago•CVE-2026-61536
7.5

CVE-2026-61536: Remote Code Execution via Unsafe Reflection in masci/banks CompletionExtension

CVE-2026-61536 is a high-severity Remote Code Execution (RCE) vulnerability in the masci/banks Python library prior to version 2.4.3. The flaw exists within the CompletionExtension component, which parses JSON-serialized Tool definitions directly from rendered Jinja template bodies inside {% completion %} blocks. When handling tool calls returned by an LLM, the library dynamically resolves the target callable using importlib.import_module() and getattr() based on an unvalidated import_path string. An attacker who can supply or modify prompt templates can inject a malicious Tool JSON object pointing to arbitrary Python functions (such as os.system), bypassing the Jinja SandboxedEnvironment introduced in version 2.4.2 and achieving arbitrary code execution when the LLM invokes the tool.

Alon Barad
Alon Barad
7 views•10 min read
•1 day ago•CVE-2026-93363
4.3

CVE-2026-93363: Improper Access Control in Payload CMS Storage Upload Route

Payload CMS contains a missing authorization vulnerability (CWE-862) in its client-side upload instructions endpoint and the `@payloadcms/storage-vercel-blob` storage adapter. Two distinct logic defects allow authenticated users lacking collection-level `create` or `update` permissions to generate signed upload tokens and upload arbitrary files directly to external cloud storage.

Alon Barad
Alon Barad
7 views•9 min read
•1 day ago•CVE-2026-55098
6.5

CVE-2026-55098: Cross-Database Authorization Bypass via DuckDB Table-Valued I/O Functions in Basekick-Labs Arc

CVE-2026-55098 (GHSA-93cm-2v4m-c56c) is an authorization bypass and sensitive information disclosure vulnerability in Basekick-Labs Arc prior to version 26.06.2. The flaw stems from an incomplete remediation of CVE-2026-47735, which failed to restrict the full suite of DuckDB table-valued filesystem I/O functions and quoted-identifier invocations. Because Arc's query parser ignores function calls during table reference extraction, authenticated users with minimal or empty permissions can invoke functions like parquet_scan(), glob(), and read_blob() to read, enumerate, and extract telemetry data across all tenant databases residing within the shared local storage root.

Alon Barad
Alon Barad
7 views•10 min read