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



CVE-2026-53849

CVE-2026-53849: Privilege Escalation and Authentication Bypass via Mutable Discord Display Names in OpenClaw allowFrom

Alon Barad
Alon Barad
Software Engineer

Jun 19, 2026·6 min read·23 visits

Executive Summary (TL;DR)

OpenClaw before 2026.5.7 allows remote privilege escalation because its authentication policy checks mutable Discord display names instead of unique, immutable Snowflake IDs.

OpenClaw before version 2026.5.7 contains a security vulnerability where the allowFrom feature improperly validates Discord account identity using mutable display names rather than immutable user IDs. This allows remote attackers to bypass authorization controls and escalate privileges by changing their Discord display or global names to match a configured policy entry.

Vulnerability Overview

The openclaw package is an agent and gateway platform that integrates directly with Discord to allow remote system monitoring, orchestration, and automated administrative operations. To regulate access to its execution environment, the software includes an authorization capability named allowFrom. This subsystem regulates which Discord accounts are permitted to send instructions and interact with deployed agents.

Prior to version 2026.5.7, the verification check in this subsystem compared incoming messages against a list of authorized identities using mutable user profile properties. The platform accepted user-controlled display names and global names during the matching routine. This configuration exposes an insecure trust boundary where authentication relies entirely on non-unique, client-modifiable parameters.

This implementation flaw corresponds to CWE-290 (Authentication Bypass by Spoofing). When the allowFrom feature is enabled and exposed, any remote user capable of interacting with the Discord gateway can manipulate their profile metadata to match an authorized name. This allows an attacker to bypass authentication boundaries and achieve unauthorized agent control.

Root Cause Analysis

To understand the underlying flaw, it is essential to examine how Discord structures user accounts. The platform provides four principal identity attributes: the immutable 18-digit Snowflake id, the unique lowercase username handle, the mutable profile global_name, and the context-dependent display_name (nickname). While the Snowflake ID is assigned at account creation and cannot be altered, display names and nicknames are mutable parameters controlled by users.

The vulnerability resides within the matching logic of the authentication filter. When a message payload is processed by the gateway, the authorization check extracts either the global_name or displayName property from the author metadata. The system compares this string value directly against the list of authorized entries defined in the application's configuration.

Because Discord permits duplicate display names and allows any user to modify these fields without administrative review, the name verification process fails to establish cryptographic or structural proof of identity. This allows an untrusted user to spoof an authorized identity by updating their Discord account profile settings to match a name defined in the allowFrom configuration list.

Code Analysis

The vulnerable implementation of openclaw extracts user-controlled profile strings from the message context. The system relies on fields that do not represent immutable user accounts, creating an insecure comparison model.

// Vulnerable implementation in openclaw < 2026.5.7
function isAuthorized(message, allowedPolicies) {
  // Extracting mutable, user-controlled display metadata
  const senderDisplayName = message.author.global_name || message.author.displayName;
 
  // Vulnerable comparison against mutable strings
  if (allowedPolicies.includes(senderDisplayName)) {
    return true; // Access granted based on spoofable display name
  }
  return false;
}

The patch introduced in version 2026.5.7 addresses the root cause by migrating the validation mechanism from mutable strings to immutable identifiers. The comparison logic now strictly validates the Snowflake ID of the sender.

// Patched implementation in openclaw >= 2026.5.7
function isAuthorized(message, allowedPolicies) {
  // Extract the unique, immutable 18-digit Discord Snowflake ID
  const senderId = message.author.id;
 
  // Secure comparison against known immutable IDs
  if (allowedPolicies.includes(senderId)) {
    return true; // Access granted only if the unique ID matches
  }
  return false;
}

This structural modification prevents name spoofing because the id field is assigned by Discord's backend database and cannot be altered or set arbitrarily by the client. The fix is complete for this specific check; however, administrators must update their local configuration files to store the Snowflake IDs of authorized users instead of legacy display name strings.

Exploitation Methodology

Exploitation of this vulnerability requires three prerequisites: the gateway must have the allowFrom feature enabled, the policy configuration must reference display names rather than Snowflake IDs, and the attacker must have network-level access to send inputs to a Discord channel monitored by the target OpenClaw instance.

An attacker begins by monitoring the target channel or reviewing historical interactions to identify an authorized administrator's display name. For example, if an administrator uses the display name "System-Operator", the attacker assumes this name is stored in the allowFrom array.

The attacker logs into a standard Discord account and updates their global profile name to "System-Operator". They then dispatch a command to the target gateway. Because the vulnerable validator evaluates only the display name string, it validates the request and processes the attacker's instructions with administrative privileges.

Technical Impact Assessment

The exploitation of CVE-2026-53849 results in an authentication bypass that permits arbitrary remote code execution within the execution context of the OpenClaw agent. Depending on the environment in which the gateway is running, this access can lead to compromise of the host system, exposure of configuration secrets, or lateral movement into connected network segments.

The CVSS v4.0 score of 8.6 reflects high severity. The attack complexity is low, and no specialized conditions are required to execute the exploit. The privileges required are rated as low because the attacker only needs a standard Discord account to perform the necessary profile modifications.

The impact on system confidentiality and integrity is rated as high because the gateway exposes capabilities to execute shell commands and control configured plugins. System availability impact is indirect, as an attacker with administrative control can shut down services or destroy configuration files.

Remediation and Mitigations

The primary remediation strategy is to upgrade the openclaw package to version 2026.5.7 or later. This upgrade modifies the validation logic to enforce matching via Discord Snowflake IDs.

In addition to updating the package, administrators must manually migrate existing configuration files. All entries in the allowFrom lists must be converted from text-based usernames or display names to their corresponding 18-digit numeric Snowflake IDs.

> [!WARNING] > Upgrading the package without updating the configuration files to use Snowflake IDs will cause the authorization check to fail for legitimate users, as display names will no longer match the expected format of numeric IDs.

If immediate upgrading is not feasible, temporary mitigation can be achieved by disabling the allowFrom feature entirely or restricting access to the monitored Discord channels using Discord's built-in channel permission overrides. This ensures that only trusted users are capable of sending messages to the target channel.

Official Patches

openclawOfficial Security Advisory

Technical Appendix

CVSS Score
8.6/ 10
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
EPSS Probability
0.21%
Top 89% most exploited

Affected Systems

openclaw

Affected Versions Detail

Product
Affected Versions
Fixed Version
openclaw
openclaw
< 2026.5.72026.5.7
AttributeDetail
CWE IDCWE-290 (Authentication Bypass by Spoofing)
Attack VectorNetwork (AV:N)
CVSS Score8.6 (High)
EPSS Score0.00213 (0.213%)
ImpactPrivilege Escalation / Remote Command Execution
Exploit StatusProof of Concept (PoC)
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1078.004Valid Accounts: Cloud Accounts
Initial Access
T1556Modify Authentication Process
Defense Evasion
CWE-290
Authentication Bypass by Spoofing

The system receives input from a user, claims to associate that input with a trusted identity, but validates the identity using a mutable or easily spoofed attribute.

Vulnerability Timeline

CVE Published
2026-06-16
GHSA Advisory Released
2026-06-16
Patch Version 2026.5.7 Released
2026-06-16

References & Sources

  • [1]GitHub Security Advisory
  • [2]VulnCheck Security Portal
  • [3]CVE.org Record
  • [4]NVD reference

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 1 hour ago•CVE-2026-61560
9.8

CVE-2026-61560: Unauthenticated Remote Path Traversal and Access Token Exfiltration in @zereight/mcp-gitlab

CVE-2026-61560 is a critical security vulnerability in the @zereight/mcp-gitlab Server-Sent Events (SSE) server. By utilizing default, unauthenticated route setups and exposing vulnerable administrative tools, remote attackers can execute path traversal attacks to read internal process variables and hijack GitLab operations.

Amit Schendel
Amit Schendel
3 views•8 min read
•about 2 hours ago•CVE-2026-61590
7.4

CVE-2026-61590: Network-Exposed Observability Endpoints and Remote Method-Invocation in djust

A critical access control vulnerability in djust prior to 1.0.7 exposes diagnostic endpoints and remote method-invocation capabilities to unauthorized network actors. The vulnerability arises due to decoupling IP boundary validation into an opt-in middleware that was omitted from official configuration documentation, leaving views to rely solely on the status of Django's DEBUG flag.

Alon Barad
Alon Barad
4 views•7 min read
•about 3 hours ago•CVE-2026-61595
7.7

CVE-2026-61595: Multi-Tenancy Isolation Bypass on WebSocket and SSE Paths in djust

The multi-tenant isolation mechanism in djust prior to version 1.0.7 fails open on active WebSocket and Server-Sent Events (SSE) connections. Because the tenant context is stored in thread-local variables and initialized exclusively via HTTP middleware, asynchronous event loops executing ASGI/WebSocket code paths do not carry the resolved tenant identifier. When queries are executed without this context, the default database manager fails open, allowing authenticated users of any tenant to query and read sensitive rows across all other tenant accounts.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 4 hours ago•CVE-2025-59953
9.8

CVE-2025-59953: Unauthenticated Remote Code Execution in LMDeploy AsyncRPCServer via Insecure Pickle Deserialization

LMDeploy prior to version 0.10.2 is vulnerable to remote code execution because its AsyncRPCServer component implements unauthenticated, remote-accessible communication sockets and uses the insecure pickle.loads() deserializer to process incoming requests.

Alon Barad
Alon Barad
3 views•6 min read
•about 5 hours ago•CVE-2026-68904
7.0

CVE-2026-68904: Uncontrolled Resource Consumption (Socket Leak and Reconnection Storm) in node-opcua

CVE-2026-68904 is a high-severity Denial of Service (DoS) vulnerability in the node-opcua library. It arises from a logical flaw in the keepalive session manager combined with incorrect socket termination at the TCP transport layer. When server-side anomalies occur, affected clients fall into an infinite, high-frequency reconnection loop. Due to the use of graceful teardown (socket.end) instead of immediate termination (socket.destroy) during negotiation failures, sockets remain open in the FIN-WAIT-2 state. This accumulates system file descriptors and memory, eventually crashing the client process.

Amit Schendel
Amit Schendel
8 views•8 min read
•about 6 hours ago•CVE-2026-61593
8.1

CVE-2026-61593: Cross-Site Request Forgery in djust Server-Sent Events Transport Layer

CVE-2026-61593 is a high-severity Cross-Site Request Forgery (CSRF) vulnerability discovered in the Server-Sent Events (SSE) transport layer of djust, an open-source framework that implements Phoenix LiveView-style reactive server-side rendering for Django applications. Before version 1.0.7, a lack of origin verification on the SSE stream endpoint, combined with @csrf_exempt decorators on message POST endpoints, allowed an attacker to hijack active client sessions through cross-origin interactions.

Alon Barad
Alon Barad
5 views•5 min read