Jun 19, 2026·5 min read·12 visits
OpenClaw versions prior to 2026.5.3 authenticate Zalo users using their mutable display names rather than unique user IDs. Attackers can bypass access controls simply by changing their display name to match an authorized user's name.
CVE-2026-53857 (GHSA-8c59-hr4w-qg69) is a high-severity authentication bypass vulnerability in OpenClaw (formerly Moltbot/Clawdbot) versions prior to 2026.5.3. The vulnerability arises from an insecure authorization mechanism in the Zalo messaging platform integration. Instead of matching access-control whitelist criteria to persistent and immutable user identifiers, the OpenClaw framework evaluated permissions based on mutable, user-controlled display names. An attacker can exploit this weakness by changing their Zalo profile display name to match a legitimate identity authorized in the allowFrom policy, gaining full access to restricted agent capabilities.
The OpenClaw integration framework incorporates a flexible chatbot and autonomous agent architecture designed to operate across several messaging platforms, including the Zalo communication network. To restrict access to sensitive backend commands, LLM interactions, and proprietary workflows, administrators configure an access-control whitelist parameter known as allowFrom. This configuration directs the framework to only process incoming messages and execute agent capabilities when they originate from trusted, authorized contacts.
However, in versions preceding 2026.5.3, the system trust boundary was structured incorrectly. Rather than relying on cryptographically unique or system-assigned backend identifiers, the underlying access-control check evaluated the incoming user identity using the mutable 'Display Name' metadata provided by the Zalo API. This implementation creates a direct path for authentication bypass.
An attacker who knows the display name of any authorized user listed in the configuration can manipulate their own profile settings to adopt the target name. Because the OpenClaw integration engine matches raw string values of presentation metadata, the attacker is authorized as the legitimate target. This flaw allows unauthorized commands to be executed without triggering any structural errors in the messaging flow.
The technical failure resides in the message processing logic of the Zalo channel adapter within the OpenClaw codebase. In the Zalo platform architecture, each registered account contains two distinct identity markers: a stable, system-assigned immutable account identifier (such as a UUID or internal user hash) and a profile display name, which is fully customizable and controlled by the account owner.
When a Zalo user transmits a message to the bot, the platform dispatches a webhook event containing a structured JSON payload to the OpenClaw server. This payload contains both the user's stable unique ID and the current display name string in the sender metadata object. In vulnerable versions of the framework, the allowFrom verification function parsed the incoming event but bypassed the unique identifier entirely during policy matching.
Instead, the logic looped through the configured whitelist strings and compared them directly against the sender.display_name property. Because this property represents user-controlled metadata rather than an authenticated identity, the matching logic is unable to guarantee authenticity. Consequently, any network-adjacent user can construct an identical display name string and trigger a positive match inside the policy engine.
To understand the logic flaw, consider the implementation of the authorization checker prior to version 2026.5.3. The vulnerable verification loop processed incoming message objects by inspecting the presentation layer metadata:
// Vulnerable logic in OpenClaw < 2026.5.3
func (b *Bot) IsAuthorized(sender *ZaloSender) bool {
for _, allowed := range b.Config.AllowFrom {
// INSECURE: Comparing mutable presentation name
if sender.DisplayName == allowed {
return true
}
}
return false
}The matching comparison operates on the DisplayName string, which is vulnerable to collision and spoofing. To address this risk, the patch in version 2026.5.3 alters the schema definition and validation routine to bind authorization checks strictly to immutable system identifiers:
// Patched logic in OpenClaw >= 2026.5.3
func (b *Bot) IsAuthorized(sender *ZaloSender) bool {
for _, allowedID := range b.Config.AllowFrom {
// SECURE: Comparing system-assigned immutable identifier
if sender.UserID == allowedID {
return true
}
}
return false
}The revised architecture ensures that even if an unauthorized sender alters their local display name to match a legitimate administrator's name, the Zalo platform API continues to report the attacker's actual, distinct UserID. The policy evaluation engine fails to find this UserID in the allowFrom whitelist, successfully blocking the request.
Exploiting this vulnerability requires no specialized exploitation frameworks, binary payloads, or complex timing attacks. An attacker must first identify a valid user listed in the target's allowFrom configuration. This information can often be gathered via OSINT, public interaction logs, shared group chats, or simple trial-and-error using common administrator names.
Once a target identity is identified, the attacker opens their own Zalo profile settings and modifies their personal display name to match the target string exactly. The attacker then initiates contact with the OpenClaw bot instance. Since the Zalo API dynamically includes the updated display name string in incoming webhook payloads, the dispatched event carries the spoofed attribute.
The server receives the request, parses the payload, and compares the spoofed display name string directly against the authorized configurations. The condition evaluates to true, authorizing the attacker session to run administrative functions or access sensitive context windows.
The impact of this vulnerability is high, carrying a CVSS v4.0 score of 8.6. Because OpenClaw agents are often configured with extensive access to internal APIs, private vector databases, and system shells, bypassing the allowFrom policy exposes these integrations directly to external manipulation.
An attacker can use this bypass to extract sensitive files, query internal databases via natural language commands, or exhaust LLM API quotas. Furthermore, if the agent has been configured with execution-level toolsets (such as system shell integration or code interpreters), successful exploitation can lead to remote code execution on the hosting infrastructure.
Because the vulnerability is exploited using valid platform interactions, host-based firewalls, traditional network intrusion detection systems, and web application firewalls will not detect the attack. The request mimics a legitimate incoming chat message, rendering standard endpoint protection tools blind to the spoofing activity.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N| Product | Affected Versions | Fixed Version |
|---|---|---|
OpenClaw OpenClaw | < 2026.5.3 | 2026.5.3 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-290 (Authentication Bypass by Spoofing) |
| Attack Vector | Network (AV:N) |
| CVSS v4.0 Score | 8.6 (High) |
| EPSS Score | 0.00213 (Percentile: 11.50%) |
| Impact | High Confidentiality, High Integrity (VC:H/VI:H) |
| Exploit Status | No public exploits or weaponized PoCs available |
| KEV Status | Not listed in the CISA KEV Catalog |
The software performs security checks based on attributes that can be spoofed, allowing attackers to bypass authentication controls.
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.