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



GHSA-XRQ9-JM7V-G9H7
5.40.03%

CVE-2026-41909: Incorrect Authorization in OpenClaw Device Pairing

Amit Schendel
Amit Schendel
Senior Security Researcher

Apr 26, 2026·5 min read·9 visits

PoC Available

Executive Summary (TL;DR)

OpenClaw versions prior to 2026.4.20 fail to properly scope pairing RPC methods, allowing any device token with the `operator.pairing` scope to globally list, approve, or reject pairing requests for unrelated devices.

The OpenClaw Agent Platform before version 2026.4.20 contains an incorrect authorization vulnerability (CWE-863) in its gateway pairing management module. A failure to distinguish between administrative operator sessions and device-level sessions allows compromised or malicious devices to view and manipulate pairing requests belonging to other devices within the same gateway scope.

Vulnerability Overview

The OpenClaw Agent Platform exposes a gateway module responsible for managing device lifecycles and pairing requests. CVE-2026-41909 identifies a critical authorization flaw (CWE-863) within this module, specifically affecting how the gateway processes remote procedure calls (RPC) associated with device pairing.

In affected versions, the gateway fails to isolate device-level sessions from administrative sessions when evaluating authorization scopes. Specifically, the system grants broad access to the operator.pairing scope without verifying the context of the caller.

This architectural oversight allows an attacker with low-privileged network access and a single valid device token to impact the integrity and confidentiality of the entire gateway's pairing process. The vulnerability manifests across three specific RPC methods: device.pair.list, device.pair.approve, and device.pair.reject.

Root Cause Analysis

The gateway architecture assigns functional scopes to active sessions, relying heavily on the operator.pairing scope to gate access to pairing workflows. This scope explicitly permits the execution of three global RPC methods designed for managing pending device connections.

Both administrative operator sessions (authenticated via shared secrets) and device-level sessions (authenticated via device-specific tokens) can legitimately hold this scope. The backend authorization logic evaluates the presence of the scope string but ignores the underlying session context type.

Furthermore, the vulnerable RPC method handlers do not validate that the deviceId or requestId supplied in the payload corresponds to the caller's identity. The handlers execute the requested state mutation globally against the gateway's internal device registry.

This creates a horizontal authorization bypass. Any entity holding the operator.pairing scope inherits global administrative control over all pairing actions, entirely circumventing the intended resource isolation model.

Code Analysis

The vulnerable implementation checked only for the presence of the operator.pairing scope without asserting ownership over the target requestId. This allowed any authenticated session with the scope to traverse the entire pending request list.

Commit 5a12f30441d5b0b151f550daa2c5c9e8db61e2e6 remediates this by introducing an isDeviceTokenAuth flag into the session context. This boolean explicitly differentiates limited device tokens from administrative shared secrets during request processing.

The device.pair.list handler was updated to evaluate this new flag. If the session utilizes a device token and lacks the overarching operator.admin scope, the gateway now filters the result set to include only entries where request.deviceId === authz.callerDeviceId.

For the state-mutating methods (approve and reject), the patch introduces a strict pre-flight lookup using getPendingDevicePairing(requestId). The updated handler logic asserts that the deviceId associated with the pending request strictly matches the session's callerDeviceId, securely enforcing resource ownership before executing the mutation.

Exploitation

Exploitation requires the attacker to possess a valid device token with the operator.pairing scope. In standard deployments, this implies the attacker has either compromised an existing paired device or extracted a valid token from network traffic.

The attacker initiates the exploit chain by sending an RPC request to the device.pair.list endpoint. Because the vulnerable gateway does not filter the response based on the caller's identity, the server returns an array of all pending pairing requests currently tracked by the system.

The response leaks sensitive metadata for unrelated devices attempting to join the network, including their specific requestId, deviceId, and cryptographic publicKey.

Armed with a valid requestId, the attacker can issue a device.pair.reject call to perform a targeted denial of service, permanently blocking the joining device. Alternatively, the attacker can submit their own rogue pairing request and use their existing compromised token to call device.pair.approve, bypassing the manual administrative approval workflow.

Impact Assessment

The primary impact of CVE-2026-41909 is a severe authorization bypass that compromises the integrity and confidentiality of the device pairing lifecycle. It effectively neutralizes the trust model required for onboarding new hardware.

Confidentiality is directly impacted because attackers can passively enumerate the metadata and public keys of all devices attempting to join the network. This intelligence can facilitate secondary attacks, such as device spoofing or targeted cryptographic analysis.

Integrity is compromised because attackers hold arbitrary control over the approval queue. The ability to approve rogue devices allows attackers to permanently embed persistent backdoor hardware into the trusted network tier.

While the CVSS v3.1 score is evaluated at 5.4 (Medium) due to the strict prerequisite of obtaining a valid device token, the practical risk is significant for IoT and edge computing environments where strict device segmentation forms the primary security boundary.

Remediation

The definitive remediation is to upgrade the OpenClaw npm package to version 2026.4.20 or later. This version enforces strict identity verification and resource ownership checks for all pairing-related remote procedure calls.

Organizations must audit their existing device deployments immediately. Administrators should review all recently paired devices to identify any unrecognized hardware that may have bypassed the administrative approval workflow during the window of vulnerability.

As a defense-in-depth measure, administrators should audit the assignment of the operator.pairing scope across all active device profiles. This scope must be restricted exclusively to nodes that legitimately require the capability to manage network onboarding, removing it from standard edge devices.

Official Patches

OpenClawGitHub Security Advisory
OpenClawRemediation Commit

Fix Analysis (1)

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.03%
Top 93% most exploited

Affected Systems

OpenClaw Agent Platform Gateway

Affected Versions Detail

Product
Affected Versions
Fixed Version
OpenClaw
OpenClaw
< 2026.4.202026.4.20
AttributeDetail
CVE IDCVE-2026-41909
CWE IDCWE-863
CVSS v3.1 Score5.4 (Medium)
Attack VectorNetwork
Privileges RequiredLow
EPSS Score0.00025
Exploit MaturityProof of Concept

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-863
Incorrect Authorization

The software performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

Vulnerability Timeline

Fix commit 5a12f30441d5b0b151f550daa2c5c9e8db61e2e6 pushed to main branch
2026-04-20
GHSA-XRQ9-JM7V-G9H7 published by GitHub
2026-04-21
CVE-2026-41909 assigned and published
2026-04-23

References & Sources

  • [1]GitHub Security Advisory: GHSA-xrq9-jm7v-g9h7
  • [2]OpenClaw Fix Commit
  • [3]NVD Record for CVE-2026-41909
  • [4]VulnCheck Advisory

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.