Jun 19, 2026·5 min read·33 visits
OpenClaw versions before 2026.4.29 fail to enforce authorization checks (SessionVisibilityGuard) on its shared memory search API endpoint. This omission allows any low-privileged authenticated user to query and retrieve private memory and configuration logs from other active or historic sessions.
A missing authorization vulnerability (CWE-862) exists within the shared memory search interface (memory-wiki) of OpenClaw prior to version 2026.4.29. The application fails to apply visibility controls to search queries targeting `/api/memory-wiki/search`. Consequently, an authenticated attacker with low-level privileges can query the global index and exfiltrate sensitive memory entries belonging to other active or historical sessions without authorization.
The Node.js-based application OpenClaw provides a shared memory feature known as memory-wiki. This module allows users to catalog, document, and store session states, configuration templates, and transaction metadata. To prevent cross-tenant data leakage and preserve session boundaries, OpenClaw implements logic to restrict memory access to authorized sessions and their associated owners.
However, the global search mechanism exposed by the memory-wiki API contains an authorization bypass. Although individual fetch actions require rigorous session-matching credentials, the query parser exposed via the search interface does not enforce these boundaries. As a result, the search capability presents an expanded attack surface that exposes indexing keys across all user sessions.
An authenticated attacker with low-privileged access can use the shared search query path to view structured memory records belonging to other sessions. Because these memory structures often store sensitive state data, session-specific access tokens, or environment parameters, unauthorized read access to this repository compromises overall system confidentiality.
The root cause of CVE-2026-53844 is the missing application of authorization controls (specifically the SessionVisibilityGuard middleware) on the search endpoint router. In OpenClaw's design, individual elements retrieved from the shared memory database are protected. However, the router pattern for the global search endpoint accepts and parses query parameters without validating whether the caller's session has permission to access the matching objects.
The search controller interacts directly with the database query engine. If the search query parameters (such as q=* or empty inputs) are supplied by the caller, the system evaluates the query globally. It retrieves all matched index items from the storage engine and returns them directly to the client.
This flaw represents an instance of CWE-862 (Missing Authorization). The system performs authentication via standard session tokens or JSON Web Tokens (JWT) at the router level, but fails to check visibility authorization for individual search records returned. The code lack an intermediate security boundary that ensures search results are filtered to match the executing user's session identifier.
The routing structure prior to version 2026.4.29 defined the /api/memory-wiki/search endpoint using only authentication middleware. Below is an abstract representation of the vulnerable routing code in the routes/memoryWiki.js module:
// VULNERABLE: routes/memoryWiki.js
const express = require('express');
const router = express.Router();
const { searchMemoryWiki } = require('../controllers/memoryWikiController');
const { authenticateUser } = require('../middleware/auth');
// The router fails to include the SessionVisibilityGuard middleware
router.get('/search', authenticateUser, searchMemoryWiki);In the patched version, the development team updated the router definition to enforce validation before invoking the controller. The SessionVisibilityGuard was introduced into the middleware pipeline, forcing the application to filter the query scope or validate the target scope parameter against the user's current session permissions:
// PATCHED: routes/memoryWiki.js
const express = require('express');
const router = express.Router();
const { searchMemoryWiki } = require('../controllers/memoryWikiController');
const { authenticateUser } = require('../middleware/auth');
const { SessionVisibilityGuard } = require('../middleware/visibilityGuard');
// The patch adds the SessionVisibilityGuard middleware to enforce access controls
router.get('/search', authenticateUser, SessionVisibilityGuard, searchMemoryWiki);While this fix is complete for standard routes, security teams must ensure that custom query parameters or supplementary API endpoints referencing the memory-wiki database index also pass through the SessionVisibilityGuard to prevent similar bypass vectors.
To exploit CVE-2026-53844, an attacker requires network access to the target instance and valid, low-privileged credentials. Once authenticated, the attacker initiates a GET request against the /api/memory-wiki/search endpoint.
By supplying wildcards or null query parameters, the attacker forces the system to execute an unrestricted search query. The lack of validation on the backend allows the query parser to retrieve records regardless of their owner or session constraints.
GET /api/memory-wiki/search?q=* HTTP/1.1
Host: target-openclaw-app:port
Authorization: Bearer <attacker_session_token>
Accept: application/jsonThe server processes the request, matches the wildcard against the memory keys of all active sessions, and responds with an HTTP 200 OK. The JSON payload contains the full text of search entries, exposing data from separate, independent sessions.
The impact of this vulnerability is limited to the confidentiality of records stored within OpenClaw's shared memory architecture. An attacker cannot modify, append, or delete records via this route, resulting in an integrity score of None (I:N) and an availability score of None (A:N).
However, because the memory-wiki feature is utilized for cataloging system states and logging active values, the confidentiality impact is high (C:H). Compromising this repository allows attackers to harvest session IDs, tokens, internal structure configurations, or system logs. This can facilitate subsequent attacks, including credential reuse or session hijacking.
The vulnerability is particularly significant in multi-tenant environments where distinct organizations or business units operate on the same OpenClaw instance under the assumption that their session data remains isolated.
The primary remediation strategy is upgrading the OpenClaw installation to version 2026.4.29 or later. This upgrade modifies the route handler to systematically enforce visibility controls.
In scenarios where immediate patching is not possible, security administrators should deploy Web Application Firewall (WAF) rules to inspect and filter queries targeting the shared search path. Alternatively, access to the search path can be disabled completely by commenting out or removing the route definition within the application source code.
To identify historical exploitation attempts, security operations teams should analyze web server access logs for requests directed to /api/memory-wiki/search that contain wildcard queries or lack specific session parameters.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N| Product | Affected Versions | Fixed Version |
|---|---|---|
OpenClaw OpenClaw | < 2026.4.29 | 2026.4.29 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-862: Missing Authorization |
| Attack Vector | Network |
| CVSS v3.1 Score | 6.5 (Medium) |
| CVSS v4.0 Score | 6.0 (Medium) |
| EPSS Score | 0.0021 |
| Impact | High Confidentiality Loss |
| Exploit Status | No public proof-of-concept exists |
| CISA KEV Status | Not listed |
The system does not perform an authorization check when an actor attempts to access a resource or perform an action.
A remote code execution vulnerability exists in Microsoft .NET due to untrusted data deserialization within the PresentationCore component. The flaw stems from implicit auto-conversion flags during clipboard data retrieval operations.
An out-of-bounds write vulnerability in Microsoft .NET Framework, .NET runtime, and Visual Studio allows unauthenticated remote attackers to execute arbitrary code via crafted pixel-shader bytecode or auto-converted clipboard payloads.
ASP.NET Core contains a thread deadlock vulnerability (CWE-833) that allows an unauthenticated remote attacker to cause a denial of service over the network by exhausting server thread pool resources.
CVE-2026-70035 is a high-severity Remote Code Execution (RCE) vulnerability in Microsoft .NET Framework, .NET runtime, and Visual Studio caused by improper handling during the deserialization of untrusted data (CWE-502). An unauthenticated attacker can execute arbitrary code within the context of the affected process by delivering a crafted serialized payload.
An elevation of privilege vulnerability exists in ASP.NET Core and Microsoft Visual Studio due to improper synchronization during concurrent thread execution. Authenticated remote attackers with low privileges can exploit a timing window to manipulate shared resources and assume higher-level execution contexts.
A path traversal vulnerability (CWE-22) in Contao CMS allows unauthenticated remote attackers to bypass directory boundary restrictions in ImagesController and access files within the project directory.