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-534W-2VM4-89XR

GHSA-534w-2vm4-89xr: Authorization Bypass in OpenClaw Zalo Plugin

Alon Barad
Alon Barad
Software Engineer

Mar 4, 2026·5 min read·20 visits

Executive Summary (TL;DR)

The OpenClaw Zalo plugin failed to validate sender identity for group messages. Any user in a Zalo group with the bot could bypass the 'allowFrom' restriction and execute commands. Fixed in version 2026.2.25.

A critical authorization bypass vulnerability exists in the Zalo plugin of OpenClaw, allowing unauthorized users in group chats to execute commands and trigger agent actions. The flaw stems from a failure to enforce sender allowlists on group message events, bypassing the intended security controls restricted to direct messages.

Vulnerability Overview

The Zalo extension for OpenClaw contains a critical Incorrect Authorization vulnerability (CWE-863) that compromises the security boundary between trusted administrators and untrusted users. OpenClaw is a personal AI assistant designed to execute tasks based on natural language inputs; the Zalo plugin enables interaction via the Zalo chat platform.

By design, the plugin is intended to restrict interaction to a specific set of users defined in the allowFrom configuration. However, the implementation failed to apply this restriction to messages originating from group chats (GROUP message type). While Direct Messages (DMs) were correctly filtered, the ingestion pipeline treated group messages as trusted by default or failed to subject them to the same authorization logic.

This oversight allows any user who shares a group context with the OpenClaw agent to issue commands. Depending on the tools and capabilities granted to the agent (e.g., file system access, API integrations, or code execution), this vulnerability can lead to full system compromise or unauthorized information disclosure.

Root Cause Analysis

The root cause of this vulnerability lies in the message processing logic within extensions/zalo/src/monitor.ts. The original implementation of the Zalo plugin was biased towards Direct Messages, and the authorization checks were structured around the assumption that interactions would primarily occur in one-on-one contexts.

When the Zalo API pushed a GROUP event, the application's event listener correctly ingested the message but the authorization middleware failed to validate the senderId against the configured allowlist. The logic lacked a specific branch to handle group-based authorization policies (groupPolicy or groupAllowFrom), effectively causing the system to 'fail open' for group traffic.

Specifically, the processMessageWithPipeline function did not verify membership in the allowFrom list when isGroup was true. This meant that the security check, which effectively gated DMs, was completely bypassed for group messages, allowing the payload to proceed to the command execution engine without sender verification.

Code Analysis

The vulnerability remediation involved introducing explicit group policy checks in the message monitoring loop. The fix enforces a default-deny posture for group messages unless explicitly allowed.

Vulnerable Logic (Conceptual): In the previous version, the code processed messages without distinguishing effectively between DMs and Groups regarding authorization:

// monitor.ts (Pre-patch)
// The allowFrom check was either skipped or applied incorrectly for groups
if (config.allowFrom.includes(senderId)) {
  // Process DM
} else if (isGroup) {
  // VULNERABLE: Group messages fell through to processing
  // without explicit authorization checks.
  processMessageWithPipeline(...);
}

Patched Logic: The fix introduces a robust authorization check using evaluateZaloGroupAccess. This function determines if the sender is authorized based on new configuration parameters (groupPolicy, groupAllowFrom) or falls back to the default allowFrom list.

// monitor.ts (Patched in b4010a0b6)
 
// 1. Evaluate access rights specifically for the group context
const groupAccess = isGroup
  ? evaluateZaloGroupAccess({
      providerConfigPresent: config.channels?.zalo !== undefined,
      configuredGroupPolicy: account.config.groupPolicy,
      defaultGroupPolicy,
      groupAllowFrom,
      senderId,
    })
  : undefined;
 
// 2. Enforce the decision: Drop if not allowed
if (groupAccess && !groupAccess.allowed) {
  logVerbose(core, runtime, `zalo: drop group sender ${senderId} (groupPolicy=allowlist)`);
  return; // Stop processing immediately
}
 
// 3. Proceed to pipeline only if authorized
processMessageWithPipeline(...);

This change ensures that even if an agent is added to a public or shared group, it will ignore commands from unauthorized users.

Exploitation Methodology

Exploiting this vulnerability requires no special tools or technical sophistication; it relies entirely on the logical flaw in the application's design. The attacker needs only a standard Zalo account and access to a group where the vulnerable OpenClaw bot is present.

Attack Scenario:

  1. Reconnaissance: The attacker identifies a Zalo group containing the target OpenClaw agent.
  2. Triggering: The attacker sends a message in the group, typically mentioning the bot to ensure the webhook triggers (e.g., @MyBot /execute rm -rf /).
  3. Execution: The vulnerable plugin receives the webhook event. Seeing it is a GROUP message, it bypasses the DM-specific allowFrom check.
  4. Impact: The agent parses the text as a valid command and executes it using its configured capabilities. If the agent has a "shell" or "file" capability, the attacker achieves Remote Code Execution (RCE).

Since the vulnerability allows bypassing the allowlist, the attacker effectively gains the privileges of the bot owner without needing to compromise credentials.

Impact Assessment

The impact of this vulnerability is rated Critical (CVSS 9.8) because it allows unauthenticated remote attackers to control the AI agent. The specific consequences depend heavily on the tools and permissions granted to the OpenClaw instance:

  • Remote Code Execution (RCE): If the agent is equipped with shell execution or coding tools (e.g., python interpreter), an attacker can execute arbitrary commands on the host server.
  • Information Disclosure: Attackers can query the agent for sensitive information stored in its memory, workspace files, or connected databases.
  • Service Abuse: Attackers can utilize the agent's paid API quotas (e.g., OpenAI, Anthropic) for their own purposes, leading to financial loss.

The lack of user interaction and the low complexity of exploitation (sending a chat message) make this a high-risk vector for any deployment exposing the Zalo plugin.

Remediation & Mitigation

The primary remediation is to update the OpenClaw package to version 2026.2.25 or later. This version introduces the necessary logic to handle group authorization correctly.

Configuration Updates: Post-update, administrators should explicitly configure the group policy in their config.json or environment variables to ensure strict access control:

{
  "channels": {
    "zalo": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["<trusted-user-id-1>", "<trusted-user-id-2>"]
    }
  }
}

Temporary Workarounds: If an immediate update is not possible, the following mitigations are effective:

  1. Disable the Zalo Plugin: Remove the Zalo configuration block entirely to shut down the vector.
  2. Leave Groups: Manually remove the bot account from all Zalo groups. The vulnerability specifically targets group message handling; Direct Messages remain protected by the original logic.

Official Patches

GitHubCommit fixing the vulnerability

Fix Analysis (1)

Technical Appendix

CVSS Score
9.8/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected Systems

OpenClaw Zalo Plugin

Affected Versions Detail

Product
Affected Versions
Fixed Version
OpenClaw
OpenClaw
< 2026.2.252026.2.25
AttributeDetail
CWE IDCWE-863
Attack VectorNetwork
CVSS Score9.8 (Critical)
Vector StringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Exploit StatusActive
PlatformNode.js

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1078Valid Accounts
Initial Access
CWE-863
Incorrect Authorization

Incorrect Authorization

Vulnerability Timeline

Vulnerability fixed in commit b4010a0b6
2026-02-24
Advisory GHSA-534w-2vm4-89xr published
2026-02-24
Version 2026.2.25 released
2026-02-25

References & Sources

  • [1]OpenClaw GitHub Repository

More Reports

•40 minutes ago•CVE-2026-70666
7.4

CVE-2026-70666: Server-Side Request Forgery in Netflix Lemur ACME Authority Management

CVE-2026-70666 is a critical Server-Side Request Forgery (SSRF) vulnerability in Netflix Lemur's ACME certificate management integration. Prior to version 1.9.3, the system allowed authority-role users to bypass initial ACME URL allowlist validations when updating an existing authority. Additionally, the underlying ACME network client blindly parsed and connected to dynamic endpoint URLs supplied in JSON responses from the configured ACME directory, allowing attackers to route arbitrary JWS-signed requests to internal services or cloud metadata endpoints.

Alon Barad
Alon Barad
1 views•5 min read
•about 2 hours ago•CVE-2026-70667
6.3

CVE-2026-70667: Server-Side Request Forgery Bypass in Netflix Lemur Certificate Verification

A security vulnerability in Netflix Lemur, a TLS certificate management framework, allows authenticated operators to bypass Server-Side Request Forgery (SSRF) mitigations. The issue exists within the certificate revocation verification workflow, specifically inside the CRL and OCSP retrieval logic. By exploiting HTTP redirects or DNS rebinding (Time-of-Check Time-of-Use) mechanisms, an attacker can coerce the server into issuing arbitrary network requests to internal services, such as the cloud instance metadata service (IMDS) or loopback addresses. This bypass neutralizes previous network-boundary validation logic and allows blind read/write SSRF targeting internal infrastructure resources.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 3 hours ago•CVE-2026-71303
7.7

CVE-2026-71303: Server-Side Request Forgery Bypass in Netflix Lemur Authority Updates

Netflix Lemur, an open-source TLS certificate management framework, is affected by a Server-Side Request Forgery (SSRF) vulnerability. This vulnerability arises from an incomplete patch for a previous security flaw, CVE-2026-55166. While Lemur version 1.9.2 validated the ACME directory URL against an allowlist during authority creation, it failed to perform the same checks when updating existing authorities. An authenticated user possessing an authority role can exploit this omission to replace the directory URL with internal or cloud metadata endpoints. During subsequent certificate issuance, the Lemur backend executes unauthorized requests, potentially leaking sensitive metadata or credentials.

Amit Schendel
Amit Schendel
3 views•6 min read
•about 4 hours ago•CVE-2026-71307
7.7

CVE-2026-71307: Plaintext Credential Exposure in Netflix Lemur Destinations API

An authorization bypass and information disclosure vulnerability in Netflix Lemur before version 1.9.3 allows authenticated, low-privilege users to retrieve raw destination configurations, exposing plaintext credentials such as SFTP passwords and private key passphrases.

Amit Schendel
Amit Schendel
2 views•6 min read
•about 5 hours ago•CVE-2026-71308
8.1

CVE-2026-71308: Missing Authorization and Lifecycle Hijacking in Netflix Lemur

Netflix Lemur before 1.9.3 contains a missing authorization vulnerability (CWE-862, CWE-639) when handling certificate creation, upload, or modification. Authenticated non-read-only users can manipulate the replaces parameter to silence expiration notifications and hijack certificate rotation tasks for arbitrary targets, leading to unauthorized TLS certificate deployment and traffic interception.

Alon Barad
Alon Barad
8 views•7 min read
•about 6 hours ago•CVE-2026-71317
6.5

CVE-2026-71317: Missing Authorization in Netflix Lemur Allows Unauthorized Subordinate CA Creation

CVE-2026-71317 is a critical Broken Object-Level Authorization (BOLA) / Missing Authorization vulnerability in Netflix Lemur versions prior to 1.9.3. When the self-service authority creation option is enabled (ADMIN_ONLY_AUTHORITY_CREATION = False), Lemur allows authenticated non-read-only users to request the creation of a subordinate Certificate Authority (sub-CA) chained to any internal parent authority, even if the requesting user lacks administrative or usage permissions over that parent CA. This allows attackers to generate subordinate CAs signed by trusted root certificates, exposing private keys and compromising the organizational PKI trust chain.

Alon Barad
Alon Barad
4 views•7 min read