Jun 19, 2026·5 min read·5 visits
A missing authorization check (CWE-862) in the OpenClaw 'focus' command allows authenticated low-privilege users to change the gateway's focus state, bypassing configured controlScope isolation boundaries.
An authorization bypass vulnerability in OpenClaw versions prior to 2026.4.25 allows authenticated users to execute the 'focus' command without proper controlScope validation. Because the routing engine fails to enforce configured access policies on this specific command pathway, low-privilege operators can alter the gateway's global focus state, leading to potential unauthorized cross-channel or cross-session interaction depending on downstream configuration.
OpenClaw functions as an open-source personal AI assistant gateway designed to route command executions across multiple user sessions, applications, and messaging channels. To enforce security boundaries between these disparate environments, the application implements an access control mechanism referred to as 'controlScope'. The controlScope configuration dictates which commands a given user, channel, or token can execute within the gateway's runtime environment.
A flaw exists in the command registration and routing component of OpenClaw. Specifically, the 'focus' command pathway does not perform validation against the caller's controlScope. This exposes an unauthorized execution path for any caller possessing authenticated access to the gateway interface.
While OpenClaw relies on a trusted-operator model for standard operations, this flaw allows low-privilege callers to transcend their designated scope. The exposure remains confined to environments where multiple logical boundaries share a single gateway node, and where untrusted or restricted operators can execute basic gateway commands.
The fundamental flaw resides in the lack of explicit authorization checks within the command router for the 'focus' feature, classified under CWE-862 (Missing Authorization). During initialization, the gateway registers commands alongside their required access parameters. However, the registration parameters for 'focus' omitted the validation hook that checks the caller's active context against the target scope.
When a command is issued, the routing logic processes the payload and maps it to the registered execution callback. If the command implementation lacks an explicit declaration to verify the incoming scope, the routing engine executes the state transition unconditionally. The 'focus' command is designed to update state parameters such as active windows, current database schemas, or active user contexts.
Consequently, an authenticated user restricted to a low-trust context can issue a 'focus' command that alters the active state of a high-trust context. The router validates that the user is authenticated, but it fails to confirm whether the user is authorized to perform state modifications on the specified target, allowing unauthorized cross-scope state manipulation.
The following flowchart illustrates the difference between secure command execution pathways and the insecure 'focus' command execution pathway that led to CVE-2026-53850.
This workflow demonstrates that while standard restricted commands must clear the validation gate, the 'focus' execution path bypasses the access-control filter entirely, leading directly to state modification.
An examination of the command registration and execution layers in vulnerable versions reveals how the verification step was bypassed. Below is an illustrative representation of the vulnerable routing logic compared with the corrected implementation.
// In vulnerable versions, command declarations did not enforce controlScope restrictions systematically
router.register('focus', async (context, args) => {
// VULNERABILITY: No check is performed to see if context.user.scope satisfies args.targetScope
state.setFocus(args.target);
return { status: 'success', currentFocus: args.target };
});// In version 2026.4.25, the registration explicitly validates the caller context
router.register('focus', async (context, args) => {
// FIX: Validate the caller's controlScope against the target system resource
if (!context.controlScope.canAccess(args.target)) {
throw new AuthorizationError('Inadequate privilege level for the specified target');
}
state.setFocus(args.target);
return { status: 'success', currentFocus: args.target };
});By adding explicit verification against the target parameter, the gateway prevents unauthorized actors from targeting assets outside their administrative domain. This mitigation completely resolves the bypass, provided that the authorization helper is applied to all active commands.
To exploit this vulnerability, an attacker must first obtain a valid channel or session key allowing command input to the gateway. The exploit does not require administrator privileges, only standard operator access. Once authenticated, the attacker submits a structured command containing the target parameter they wish to manipulate.
The attacker assesses the active workspace to identify administrative targets. This is accomplished by reviewing accessible public directories or metadata exposed within the standard user interface.
The attacker sends the command payload targeting a restricted context. An example command sequence is structured as follows:
{
"command": "focus",
"arguments": {
"target": "admin-session-04",
"workspace": "restricted-management-zone"
}
}The routing engine processes the instruction. Since no controlScope checks are enforced, the engine shifts the gateway's global active focus parameter to admin-session-04. Subsequent automated actions, context queries, or assistant logs are directed to or evaluated against this administrative channel, leaking information or executing subsequent commands in the context of the hijacked session.
The primary impact of CVE-2026-53850 is a loss of integrity. The CVSS v3.1 score is calculated as 5.5 (Medium), with a vector of CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N. Because the focus state dictates where subsequent instructions or queries are targeted, manipulating this parameter allows a low-privilege operator to redirect processing workflows into high-privilege zones.
The vulnerability does not directly expose variables or system files (Confidentiality: None), nor does it crash the gateway process (Availability: None). However, the alteration of execution scope can be chained with other processing tools to execute unauthorized operations. If the assistant gateway is configured with sensitive downstream plugins (such as local file execution or database write privileges), altering the focus state can cause the assistant to process malicious inputs inside a privileged zone.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N| Product | Affected Versions | Fixed Version |
|---|---|---|
openclaw OpenClaw | < 2026.4.25 | 2026.4.25 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-862 (Missing Authorization) |
| Attack Vector | Local (AV:L) |
| CVSS v3.1 Base Score | 5.5 |
| CVSS v4.0 Base Score | 6.8 |
| EPSS Score | 0.00093 (0.71st percentile) |
| Impact Class | Integrity (High) |
| Exploit Status | No public functional exploit or proof-of-concept exists |
| CISA KEV Status | Not listed |
The acquisition or verification of permissions is not performed on an active execution path, enabling an actor to access resources or modify state without matching authorization privileges.
An authentication bypass in the SiYuan personal knowledge management system before version 3.7.0 exposes a dynamic icon rendering endpoint. This endpoint processes client-supplied Go template directives. By submitting a crafted request, an unauthenticated remote attacker can leverage registered database template functions to execute arbitrary read-only SQL queries and exfiltrate workspace contents.
CVE-2026-54069 is a critical authentication bypass vulnerability in the SiYuan Note personal knowledge management system. The flaw is located in the HTTP server's middleware handling API authorization, which unconditionally trusts requests carrying a 'chrome-extension://' scheme in the Origin HTTP header, granting administrative access without validating API tokens.
CVE-2026-54089 is a critical authentication bypass vulnerability in File Browser affecting instances configured with proxy-based authentication. An unauthenticated remote attacker with direct network access can impersonate arbitrary users or register new accounts by spoofing configured HTTP headers.
The malicious Cargo package 'exploration' was uploaded to the crates.io registry. During compilation or package import, the crate executes code designed to establish an outbound TCP/HTTP connection, download an external second-stage binary, and execute the binary locally on the host machine. This creates an unauthenticated remote code execution vector impacting developer environments and continuous integration pipelines.
CVE-2026-54088 is a critical command injection vulnerability in File Browser prior to version 2.63.6. When Hook Authentication is enabled, the application interpolates unsanitized credentials into a shell command, allowing unauthenticated remote code execution.
An authenticated remote code execution vulnerability exists in NotrinosERP (versions up to and including 1.0.0) within the Human Resource Management (HRM) module. Users with employee management permissions can upload arbitrary file types, including PHP scripts, which are written directly to a web-accessible directory. This allows for arbitrary code execution in the context of the web-server user.