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-WQ58-2PVG-5H4F

GHSA-WQ58-2PVG-5H4F: Improper Authorization and Privilege Escalation in OpenClaw Gateway Agent RPC

Alon Barad
Alon Barad
Software Engineer

Mar 26, 2026·4 min read·18 visits

Executive Summary (TL;DR)

A missing authorization check in the OpenClaw agent RPC handler allows standard users to reset administrative sessions by sending specifically crafted in-band messages like '/reset'.

The OpenClaw gateway contains an improper authorization vulnerability in the Agent RPC handler. Users with basic operator.write permissions can bypass scope restrictions to execute administrative session resets via in-band text commands, leading to targeted service disruption and state manipulation.

Vulnerability Overview

The OpenClaw gateway exposes an Agent RPC handler responsible for processing client messages. This component manages active sessions and routes command strings originating from connected users. A structural flaw in this handler allows users with baseline permissions to execute administrative functions.

The vulnerability is tracked as GHSA-WQ58-2PVG-5H4F and classified under CWE-863 (Incorrect Authorization). It fundamentally stems from an inconsistency in how different remote procedure calls evaluate user permissions. The application enforces strict access controls on dedicated management endpoints but neglects these checks on in-band command parsers.

By leveraging this oversight, authenticated users with the standard operator.write scope can trigger session state resets for arbitrary users. This allows lower-privileged accounts to interfere with administrative workflows and disrupt system availability.

Root Cause Analysis

The OpenClaw gateway maintains two distinct code paths for resetting user sessions. The primary path utilizes the sessions.reset RPC endpoint, which correctly enforces the operator.admin scope. The secondary path handles in-band user commands through the agent RPC endpoint.

The agent RPC handler processes raw text messages using the RESET_COMMAND_RE regular expression. When the handler detects commands like /reset or /new, it extracts the requestedSessionKey variable from the request context. The system then directly invokes the runSessionResetFromAgent routine.

This secondary path lacks the authorization guardrails present in the primary RPC endpoint. The agent handler inherently trusts that the caller is authorized to operate on the provided requestedSessionKey. Consequently, any user capable of interacting with the agent RPC can trigger the underlying administrative function.

Code Analysis

The vulnerability resides in the message processing logic within src/gateway/server-methods/agent.ts. The original implementation executed runSessionResetFromAgent immediately upon matching the regex pattern, completely ignoring the token's authorized scope.

The fix, implemented in commit 50f6a2f136fed85b58548a38f7a3dbb98d2cd1a0, introduces an explicit authorization barrier. The developers added the resolveCanResetSessionFromClient function to evaluate caller privileges before processing the command.

// src/gateway/server-methods/agent.ts
+ function resolveCanResetSessionFromClient(client: GatewayRequestHandlerOptions["client"]): boolean {
+   return resolveSenderIsOwnerFromClient(client);
+ }

The handler logic now evaluates the canResetSession boolean. If the user is neither the session owner nor an administrator, the gateway aborts the operation and returns an INVALID_REQUEST error.

// Within agentHandlers:
+   const canResetSession = resolveCanResetSessionFromClient(client);
    // ...
    const resetCommandMatch = message.match(RESET_COMMAND_RE);
    if (resetCommandMatch && requestedSessionKey) {
+     if (!canResetSession) {
+       respond(
+         false,
+         undefined,
+         errorShape(ErrorCodes.INVALID_REQUEST, `missing scope: ${ADMIN_SCOPE}`),
+       );
+       return;
+     }

Exploitation Methodology

An attacker initiates exploitation by authenticating to the OpenClaw gateway. The session token must possess at least operator.write permissions, representing a standard user scope. No administrative access is required to begin the attack.

The attacker constructs a crafted payload targeted at the agent RPC endpoint. The payload consists of a text message containing the /reset command alongside a target sessionKey. A typical target key follows the format agent:main:main.

Upon receiving this message, the gateway parses the command and matches the regular expression. The system bypasses normal administrative checks and triggers the session reset routine against the specified key. The attacker receives a successful response while the target session drops.

Impact Assessment

Exploitation results in the unauthorized reset of active sessions within the OpenClaw environment. An attacker can specifically target administrative sessions or disrupt general user workflows. This produces a targeted denial-of-service condition against critical gateway users.

The state disruption forces users to re-authenticate and re-establish their operational context. Active administrative tasks are immediately terminated when the session drops. This causes data loss for in-progress operations that require persistent state.

Continuous exploitation effectively prevents administrators from maintaining access to the management interface. An attacker running an automated script to continuously submit /reset commands can permanently lock administrators out of active session management.

Remediation and Mitigation

Administrators must update the OpenClaw deployment to the latest version containing commit 50f6a2f136fed85b58548a38f7a3dbb98d2cd1a0. This patch comprehensively addresses the missing authorization check by aligning the agent RPC permissions with the dedicated sessions.reset endpoint.

Security teams should implement log monitoring to detect past or ongoing exploitation attempts. Audit the gateway access logs for agent RPC requests containing /reset or /new strings that originate from accounts lacking the operator.admin scope.

Dynamic Application Security Testing (DAST) tools and vulnerability scanners should be updated to verify this condition. Scanners can test the agent RPC by attempting to send /reset commands with a lower-privileged token and asserting that the application responds with the explicit missing scope: operator.admin error message.

Official Patches

OpenClawOfficial patch commit implementing authorization checks

Fix Analysis (1)

Technical Appendix

CVSS Score
High/ 10

Affected Systems

OpenClaw Gateway Agent RPC Component

Affected Versions Detail

Product
Affected Versions
Fixed Version
OpenClaw
OpenClaw
All versions prior to the March 23, 2026 patchCommit 50f6a2f136fed85b58548a38f7a3dbb98d2cd1a0
AttributeDetail
Vulnerability TypeImproper Authorization
CWE IDCWE-863
Attack VectorNetwork / RPC API
AuthenticationRequired (operator.write)
ImpactTargeted Denial of Service / State Disruption
Exploit StatusProof of Concept Available

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1489Service Stop
Impact
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.

References & Sources

  • [1]GitHub Advisory: GHSA-wq58-2pvg-5h4f
  • [2]OpenClaw Fix Commit
  • [3]OpenClaw Security Page

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

•about 2 hours ago•CVE-2026-48861
2.1

CVE-2026-48861: HTTP Request Splitting and Smuggling via Method Parameter CRLF Injection in Elixir Mint

CVE-2026-48861 is a client-side HTTP request-line CRLF (Carriage Return Line Feed) injection vulnerability in the popular Elixir HTTP client library, Mint. The vulnerability permits HTTP Request Splitting and HTTP Request Smuggling when an application forwards untrusted, attacker-controlled inputs to Mint's HTTP client requests as either the HTTP request method or target. By embedding CRLF characters within these parameters, an attacker can terminate the request line prematurely, inject malicious headers, or pipeline entirely independent requests. These smuggled requests are then processed by upstream or downstream proxy servers as separate HTTP queries on the same TCP connection. While Mint version 1.7.0 introduced target validation to secure the request target, the HTTP request method parameter remained completely unvalidated. This flaw allows attackers to bypass routing filters, access restricted internal APIs, or poison HTTP caches under default configurations.

Amit Schendel
Amit Schendel
3 views•7 min read
•about 3 hours ago•CVE-2026-49753
6.3

CVE-2026-49753: HTTP Request/Response Smuggling via Inconsistent Content-Length Parsing in Elixir Mint Client

An Inconsistent Interpretation of HTTP Requests (HTTP Request/Response Smuggling) vulnerability in the Elixir Mint HTTP client allows attacker-controlled HTTP/1 servers to desynchronize response framing on shared connections due to over-lenient parsing of sign-prefixed Content-Length headers.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 3 hours ago•CVE-2026-49754
8.2

CVE-2026-49754: Denial of Service via Unbounded HTTP/2 CONTINUATION Frame Accumulation in Elixir Mint

An allocation of resources without limits or throttling vulnerability in Elixir Mint allows an attacker-controlled HTTP/2 server to exhaust memory in a Mint client. The vulnerability is exploited by sending a HEADERS frame without the END_HEADERS flag followed by an infinite stream of CONTINUATION frames. Because the client lacks limits on the incoming header-block accumulator, the client continuously consumes memory until an out-of-memory crash occurs.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 4 hours ago•CVE-2026-48596
2.1

CVE-2026-48596: Improper Neutralization of CRLF Sequences in Elixir Tesla Multipart HTTP Client

CVE-2026-48596 is an Improper Neutralization of CRLF Sequences in HTTP Headers (HTTP Request/Response Splitting, CWE-113) in the Elixir Tesla HTTP client. The flaw resides in how multipart content-type parameters are joined and serialized, enabling attackers to inject arbitrary headers or split HTTP requests when applications pass untrusted inputs to the parameters of multipart uploads.

Alon Barad
Alon Barad
4 views•6 min read
•about 4 hours ago•CVE-2026-48594
8.2

CVE-2026-48594: Decompression Bomb Denial of Service in Elixir Tesla HTTP Client

An improper handling of highly compressed data (decompression bomb) vulnerability exists in the Elixir Tesla HTTP client when utilizing response decompression middlewares. By serving highly compressed responses or stacked content-encoding headers, a malicious server can cause arbitrary heap exhaustion, leading to a denial of service (DoS) crash in the BEAM virtual machine.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 5 hours ago•CVE-2026-48595
8.2

CVE-2026-48595: Cross-Origin Credential Leakage in Elixir Tesla Client via Case-Sensitive Redirect Filter Bypass

A high-severity security vulnerability in Elixir's Tesla HTTP client library (CVE-2026-48595) allows unauthenticated remote attackers to harvest sensitive credentials, including Authorization headers and cookies. The flaw resides in the 'Tesla.Middleware.FollowRedirects' component, which performs case-sensitive lookups when stripping credentials during cross-origin redirects. Because HTTP headers are case-insensitive by RFC specifications, standard canonical casing (e.g., 'Authorization') bypasses the lowercase-only blocklist, leaking tokens to untrusted external redirect destinations.

Alon Barad
Alon Barad
5 views•5 min read