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-53852

CVE-2026-53852: Scope Containment Bypass in OpenClaw Device Re-pairing

Amit Schendel
Amit Schendel
Senior Security Researcher

Jun 19, 2026·8 min read·2 visits

Executive Summary (TL;DR)

An authorization bypass in OpenClaw allows authenticated operators to retain elevated privileges during device re-pairing by submitting an empty scope array, skipping containment guards.

OpenClaw versions prior to 2026.4.25 are subject to a scope containment bypass vulnerability in the device re-pairing component. When processing re-pairing requests, the application backend fails securely, allowing authenticated operators to bypass authorization containment policies. By submitting a re-pairing payload with an empty or omitted scope array, an operator can skip containment checks and retain broader, previously established administrative privileges. This vulnerability is classified under CWE-636: Not Failing Securely ('Failing Open').

Vulnerability Overview

OpenClaw is an open-source platform designed to facilitate connection management, authorization, and message routing for client devices within a Node.js runtime environment. Within this architecture, device sessions are governed by distinct authorization scopes that enforce the principle of least privilege. Under normal operating conditions, client devices authenticate and obtain a specific set of active scopes, which are then validated against backend access control lists during subsequent API requests. This containment strategy limits the lateral capability of individual devices on the network.

During lifecycle operations, client devices frequently undergo a process known as re-pairing. Re-pairing is used to rotate cryptographic key material, update connection parameters, or renegotiate active session scopes. The design of OpenClaw permits a client to request a subset of its allowed scopes to dynamically reduce its exposure during specific operations. This subset negotiation is handled by dedicated authorization guards that evaluate incoming requests to ensure they do not exceed the scope boundary established during initial device provisioning.

CVE-2026-53852 describes a scope containment bypass vulnerability residing in the device re-pairing routine of OpenClaw. The flaw is classified under CWE-636: Not Failing Securely ('Failing Open'). When an authenticated operator submits a re-pairing request containing an empty or falsy scope parameter, the system's authorization guard fails open. Instead of restricting the session to an empty set of permissions, the validation logic is bypassed entirely, allowing the caller to retain or restore a broader set of administrative permissions than intended. This exposes the application to unauthorized actions from otherwise restricted device sessions.

Root Cause Analysis

The technical root cause of CVE-2026-53852 lies within the conditional validation logic of the pairing module, specifically when parsing the requestedScopes array. In secure systems, input validation must verify that requested access privileges are a strict subset of the user's allocated permissions. If the input is empty or omitted, the default safe state must be to grant zero active scopes, thus failing closed. The vulnerability arises because OpenClaw's implementation treats an empty array ([]) or a null value as an indication that no modification to the active session scopes is required, skipping the containment check entirely.

When a device issues a re-pairing request, the application backend processes the request via an authorization handler. The handler evaluates whether the client-supplied requestedScopes contains values. The check is implemented using a conditional statement that only initiates the validation and scope-updating routine if the array exists and has a length greater than zero. If the array is empty, control flows directly to the completion routine without executing the subset constraint logic or modifying the active scope array.

This behavior allows the session to preserve its pre-existing, higher-privileged authorization state. Because the system does not overwrite the active session scopes with the requested empty list, the containment mechanism is effectively bypassed. The failure to handle empty inputs securely violates the principle of complete mediation, wherein every access request must be checked for authority. This logic error allows lower-privileged, contained operators to escape their restriction boundaries.

Code Analysis

The vulnerability is illustrated by analyzing the logical flow within the pairing verification component. The vulnerable code pattern fails to handle empty inputs securely, relying on an improper existence check that permits the bypass of downstream assignments. Under this implementation, the backend does not enforce the restricted scope set when the payload's scopes property is empty.

// Vulnerable Code Pattern
export async function processRepairingRequest(device, requestedScopes: string[]) {
  // Bypassing guard: If requestedScopes is empty, the check is skipped entirely
  if (requestedScopes && requestedScopes.length > 0) {
    for (const scope of requestedScopes) {
      if (!device.allowedScopes.includes(scope)) {
        throw new Error(`Unauthorized scope: ${scope}`);
      }
    }
    device.activeScopes = requestedScopes;
  } else {
    // FAIL OPEN: An empty scope set skips the restriction guard
    logger.warn("Re-pairing request received with empty scope set. Retaining previous active scopes.");
  }
  await device.save();
  return { status: "success", scopes: device.activeScopes };
}

The patched implementation resolves the vulnerability by removing the conditional bypass and standardizing the incoming array. If the requestedScopes parameter is null or undefined, the system defaults to an empty array. The containment guard then iterates over this array, ensuring that any elements present are validated. Crucially, the assignment device.activeScopes = scopesToAuthorize is executed unconditionally, forcing the session to accept the empty set if no valid scopes are provided.

// Repaired Code Pattern
export async function processRepairingRequest(device, requestedScopes: string[]) {
  // Standardize the input array: default to an empty list rather than skipping
  const scopesToAuthorize = requestedScopes || [];
 
  // Containment guard: always validates every scope requested
  for (const scope of scopesToAuthorize) {
    if (!device.allowedScopes.includes(scope)) {
      throw new Error(`Scope containment violation: ${scope} is not allowed.`);
    }
  }
 
  // Assign the exact restricted subset (even if empty)
  device.activeScopes = scopesToAuthorize;
  await device.save();
  return { status: "success", scopes: device.activeScopes };
}

While this fix is effective against the specific vector of empty arrays, overall security remains dependent on strict type-checking at the API gateway layer. If the API parser allows non-array objects or nested structures to reach this logic, further bypass variants might arise. To achieve complete remediation, input schemas must enforce strict validation of the requestedScopes field, rejecting payloads that deviate from a flat array of strings.

Exploitation Methodology

Exploitation of CVE-2026-53852 requires the attacker to possess authenticated operator credentials with at least low-privilege access to the target OpenClaw deployment. The attacker must also have access to an active session associated with a specific device identifier. The objective of the attack is to bypass containment restrictions and retain or elevate the active privileges associated with the device session.

The attack begins with the interception or construction of a legitimate device re-pairing request. Typically, these requests are transmitted via HTTP POST to the pairing endpoints, such as /api/device/repair or /api/v1/auth/repairing. A normal request specifies a list of reduced scopes in the payload. To execute the bypass, the attacker modifies this payload, substituting the requested scopes array with an empty array [] or a null value.

Upon receiving the malformed JSON payload, the vulnerable backend executes the processRepairingRequest routine. Because the requestedScopes array contains zero elements, the application bypasses the scope update logic entirely. The database session remains configured with the broader, pre-existing administrative scopes. The attacker can then issue requests to high-privilege endpoints, executing administrative actions that should have been restricted by the re-pairing containment policy. This permits full lateral movement within the compromised scope boundaries.

Security Impact Assessment

The security impact of CVE-2026-53852 is characterized by the loss of session isolation and the failure of privilege containment mechanisms. Although the National Vulnerability Database assigns a CVSS v3.1 score of 5.4 (Medium), and the CNA assigns a CVSS v4.0 score of 2.3 (Low), the flaw represents a fundamental breakdown of the system's access control architecture. In multi-tenant or multi-tier deployments, the ability to bypass scope restrictions undermines the trust boundaries established between low-privilege operators and high-privilege control resources.

The difference between the CVSS v3.1 and v4.0 ratings lies in the evaluation of environmental requirements and attack attributes. The CVSS v4.0 vector introduces the "Attack Requirements" metric, set to Present (AT:P). This reflects the dependency on a pre-existing configuration state: the target system must have previously granted broader scopes to the session for the bypass to yield elevated access. If the session never possessed high-privilege scopes, submitting an empty array will not escalate permissions.

As of the current assessment, there is no evidence of active exploitation in the wild, and the EPSS score remains low at 0.00164, representing a 0.164% probability of exploitation within 30 days. Despite the low public exploit maturity, organizations deploying OpenClaw in production environments must treat this vulnerability as significant, particularly if their operations rely on device-level scope confinement to isolate untrusted or external networks.

Remediation and Detection Guidance

Remediation of CVE-2026-53852 requires upgrading all affected OpenClaw deployments to version 2026.4.25 or higher. This release contains the updated pairing logic that ensures empty scope requests default to a closed state, effectively removing the bypass vector. Administrators must verify that the deployment successfully transitions to the patched codebase and that no beta-level versions before 2026.4.25 remain active.

If immediate upgrading is not feasible, temporary mitigation can be achieved through the implementation of Web Application Firewall (WAF) rules or API gateway policies. These rules must inspect incoming traffic to the /api/device/repair and /api/v1/auth/repairing endpoints. Any request containing an empty array or missing parameter for the scopes field must be blocked or rejected with an HTTP 400 Bad Request response before the request is processed by the application layer.

In addition to input filtering, security teams must audit application logs for historical pairing requests. Search queries should target payloads where the scopes parameter is empty or null, followed by requests to administrative endpoints from the same session. This forensic analysis is critical for identifying potential past exploitation attempts and assessing whether unauthorized actions were executed prior to the application of the patch. Proper schema validation schemas, such as Joi or Zod, should be integrated into the route handler to enforce non-empty arrays where appropriate.

Official Patches

OpenClawVendor Security Advisory

Technical Appendix

CVSS Score
5.4/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
EPSS Probability
0.16%
Top 94% most exploited

Affected Systems

OpenClaw (Node.js environments)

Affected Versions Detail

Product
Affected Versions
Fixed Version
OpenClaw
OpenClaw
< 2026.4.252026.4.25
AttributeDetail
CWE IDCWE-636
Attack VectorNetwork
CVSS v3.1 Score5.4 (Medium)
CVSS v4.0 Score2.3 (Low)
EPSS Score0.00164 (0.164% probability)
Exploit StatusNone (No public PoC)
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1548Abuse Elevation Control Mechanism
Privilege Escalation
CWE-636
Not Failing Securely ('Failing Open')

The system 'fails open' when validation is skipped or defaults to a high-privilege configuration upon receiving empty or unexpected input.

Vulnerability Timeline

Vulnerability patched and official security advisory GHSA-8mg9-j9cf-54cj released
2026-06-16
CVE-2026-53852 registered and published
2026-06-16
NVD record updated with CVSS assessment
2026-06-17

References & Sources

  • [1]GitHub Security Advisory GHSA-8mg9-j9cf-54cj
  • [2]VulnCheck Intelligence Advisory
  • [3]Official CVE Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•21 minutes ago•CVE-2026-53849
8.6

CVE-2026-53849: Privilege Escalation and Authentication Bypass via Mutable Discord Display Names in OpenClaw allowFrom

OpenClaw before version 2026.5.7 contains a security vulnerability where the allowFrom feature improperly validates Discord account identity using mutable display names rather than immutable user IDs. This allows remote attackers to bypass authorization controls and escalate privileges by changing their Discord display or global names to match a configured policy entry.

Alon Barad
Alon Barad
0 views•6 min read
•about 1 hour ago•CVE-2026-53858
7.1

CVE-2026-53858: Local Code Execution via Untrusted Search Path in OpenClaw

OpenClaw versions prior to 2026.5.2 are vulnerable to an untrusted search path flaw (CWE-426) during workspace initialization. When an operator opens a workspace, the application parses the workspace's local `.env` file and uses the unvalidated `STATE_DIRECTORY` variable to resolve and execute bundled runtime dependencies. An attacker can exploit this to achieve local code execution under the security context of the operator.

Alon Barad
Alon Barad
1 views•7 min read
•about 1 hour ago•CVE-2026-53865
7.2

CVE-2026-53865: Arbitrary Local Command Execution in OpenClaw via Untrusted Search Path

A critical untrusted search path vulnerability (CWE-426) exists in OpenClaw, an open-source, multi-platform personal AI assistant. In versions prior to 2026.5.2 (and up to 2026.5.26 in specific deployment configurations), the application merges workspace-derived configuration parameters into the operating system environment object. When executing administrative maintenance routines, OpenClaw invokes external system commands, such as the 'trash' utility, without verifying the underlying executable path. This allows a low-privileged local user or workspace collaborator to hijack binary execution flows, resulting in arbitrary command execution within the privilege context of the OpenClaw service wrapper.

Amit Schendel
Amit Schendel
1 views•6 min read
•about 2 hours ago•CVE-2026-53854
6.0

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

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.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 3 hours ago•CVE-2026-0755
9.8

CVE-2026-0755: Remote Code Execution and Arbitrary File Exfiltration in gemini-mcp-tool

CVE-2026-0755 is a critical vulnerability in gemini-mcp-tool (<= 1.1.5) that allows unauthenticated remote code execution on Windows installations and arbitrary local file exfiltration across all supported operating systems. The flaws exist within the execAsync command runner and the input handling logic of the Model Context Protocol (MCP) server, which fails to securely escape arguments passed to Node.js child processes and does not validate local file references in user-supplied prompt strings.

Alon Barad
Alon Barad
4 views•7 min read
•about 3 hours ago•GHSA-G7M4-839X-CH6V
8.7

GHSA-g7m4-839x-ch6v: Denial of Service via Unbounded Digits Parameter in spomky-labs/otphp

The spomky-labs/otphp library prior to version 11.4.3 is vulnerable to an unhandled DivisionByZeroError crash when parsing provisioning URIs containing a digits parameter value equal to or greater than 40. This allows unauthenticated remote attackers to trigger a Denial of Service by supplying a crafted URI, which causes float-to-integer cast overflow and subsequent division-by-zero fatal error in modern PHP runtimes.

Alon Barad
Alon Barad
2 views•7 min read