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-52Q4-3XJC-6778

GHSA-52Q4-3XJC-6778: Authorization Bypass via Mutable Metadata in OpenClaw Google Chat Integration

Alon Barad
Alon Barad
Software Engineer

Mar 29, 2026·5 min read·22 visits

Executive Summary (TL;DR)

A flaw in OpenClaw's Google Chat extension (<= 2026.3.24) allows attackers to bypass authorization by renaming a chat space to match a privileged group name. This grants unauthorized access to AI agent tools and data. The vulnerability is fixed in version 2026.3.25.

OpenClaw versions prior to 2026.3.25 suffer from an authorization bypass vulnerability in the Google Chat integration. The flaw occurs due to reliance on mutable room names for policy enforcement, allowing unprivileged users to escalate privileges by renaming chat spaces.

Vulnerability Overview

The openclaw npm package provides an AI agent framework with various platform integrations. The Google Chat extension implements authorization logic to restrict specific agent capabilities to designated chat spaces. Vulnerable versions of this extension suffer from an authorization bypass flaw due to improper reliance on mutable metadata for access control.

This vulnerability is classified under CWE-863 (Incorrect Authorization) and CWE-639 (Authorization Bypass Through User-Controlled Key). The defect resides in the policy resolution routing logic which maps incoming chat messages to configured permission models. By exploiting this mechanism, unauthorized users achieve privilege escalation within the context of the AI agent's operational permissions.

The core issue stems from using the Google Chat space displayName as a primary key for security policy enforcement. Administrators frequently map privileged agent tools to human-readable room names rather than immutable identifiers. Attackers exploit this by instantiating a new space and applying the targeted name, thus inheriting the associated authorization profile.

Root Cause Analysis

The root cause is located in the resolveGroupConfig function within the extensions/googlechat/src/monitor-access.ts file. This component evaluates incoming webhook payloads from Google Chat to determine the appropriate authorization tier for the request. The function constructs a list of lookup candidates based on the message metadata.

In versions prior to 2026.3.25, the candidate array prioritized the immutable groupId but subsequently fell back to the mutable groupName and a normalized representation of the groupName. The system then executed a mapping lookup against the configured policy definitions. If the administrator configured the bot using a human-readable room name, the lookup succeeded based entirely on user-controlled metadata.

Because any Google Chat user with management permissions can arbitrarily modify the displayName of a space they control, the groupName variable is completely untrusted. The application incorrectly elevated this untrusted string to an authoritative policy key. This architectural flaw broke the fundamental security boundary between distinct chat spaces.

Code Analysis and Patch Review

The vulnerable implementation constructed an array of lookup keys and evaluated them sequentially. The application used the find(Boolean) method to select the first matching policy configuration based on the provided candidates.

// Vulnerable implementation in monitor-access.ts
const candidates = [groupId, groupName ?? "", normalizedName ?? ""].filter(Boolean);
let entry = candidates.map((candidate) => entries[candidate]).find(Boolean);

The patch introduced in commit 11ea1f67863d88b6cbcb229dd368a45e07094bff fundamentally alters this trust model. The revised logic strictly enforces the use of the immutable groupId for policy resolution. The application now explicitly evaluates whether a match would have occurred using the legacy, mutable groupName variables.

// Patched implementation in monitor-access.ts
const entry = entries[groupId]; // Use stable ID only
const deprecatedNameMatch = !entry && Boolean(
  groupName && keys.some((key) => {
    return trimmed === groupName || trimmed.toLowerCase() === normalizedGroupName;
  })
);

When a deprecatedNameMatch is detected, the application explicitly nullifies the resolved entry and flags the request. The downstream message handler evaluates this flag and drops the incoming payload. Furthermore, this logic explicitly prevents the system from falling back to a global wildcard policy if an invalid legacy name is utilized.

Exploitation Methodology

Exploitation requires the attacker to possess basic interaction access with the OpenClaw agent and the ability to create new Google Chat spaces. The attacker begins by enumerating or inferring the target organization's privileged group names. Common naming conventions or leaked bot configurations often reveal these identifiers.

The attacker provisions a new Google Chat space and grants themselves administrative control over the space settings. They then invoke the renaming function to alter the displayName to match the targeted privileged group. Once the space is renamed, the attacker invites the OpenClaw agent into the compromised environment.

The attacker subsequently issues a privileged command to the agent. The webhook payload dispatched to the OpenClaw backend includes the attacker-controlled groupName. The vulnerable routing logic matches this string against the administrative policy and grants the requested access, resulting in arbitrary execution of the agent's restricted toolset.

Impact Assessment

The primary impact is unauthorized access to the functionality and data exposed by the OpenClaw AI agent. Because AI agents frequently integrate with backend infrastructure, databases, and continuous integration pipelines, the scope of the impact mirrors the permissions granted to the agent itself.

An attacker successfully exploiting this vulnerability executes actions under the authorization context of the targeted high-privilege group. If the agent possesses read access to financial records or write access to source code repositories, the attacker gains identical capabilities. The bypass renders all platform-side access controls ineffective.

The vulnerability scores an 8.1 on the CVSS v3 framework based on patch analysis. The attack vector is network-based, requires low privileges, and does not require user interaction from a victim. The impact on confidentiality and integrity is high, contingent upon the specific tools integrated into the OpenClaw deployment.

Remediation and Detection

Organizations utilizing the OpenClaw framework must upgrade the openclaw npm package to version 2026.3.25 or later. This release enforces strict validation of the immutable groupId parameter and implements a fail-closed mechanism for legacy configuration attempts.

Administrators must proactively audit and update their channels.googlechat.groups configuration file. All human-readable room names must be replaced with the corresponding immutable Space IDs. These identifiers utilize the format spaces/XXXXXXXX and remain static regardless of user-initiated metadata changes.

Security teams can detect exploitation attempts by monitoring application logs. Patched versions of OpenClaw emit specific warnings when legacy routing matches occur. Search for the log entry Deprecated Google Chat group key detected: group routing now requires stable space ids or drop group message (deprecated mutable group key matched) to identify in-progress attacks or misconfigured environments.

Official Patches

OpenClawOfficial fix commit in the OpenClaw repository

Fix Analysis (1)

Technical Appendix

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

Affected Systems

OpenClaw Google Chat IntegrationNode.js npm openclaw package

Affected Versions Detail

Product
Affected Versions
Fixed Version
openclaw
OpenClaw
<= 2026.3.242026.3.25
AttributeDetail
CWE IDCWE-863, CWE-639
Attack VectorNetwork
CVSS Score8.1
ImpactAuthorization Bypass / Privilege Escalation
Exploit StatusProof of Concept Available
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1548.002Bypass User Access Control
Privilege Escalation
CWE-863
Incorrect Authorization

The software performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

Vulnerability Timeline

Initial reports of spillover and bypass vulnerabilities discussed on community forums
2026-02-01
Fix commit 11ea1f67863d88b6cbcb229dd368a45e07094bff merged into the main branch
2026-03-26
GHSA-52Q4-3XJC-6778 formally published to the GitHub Advisory Database
2026-03-27

References & Sources

  • [1]GitHub Advisory Database: GHSA-52Q4-3XJC-6778
  • [2]OpenClaw Fix Commit
  • [3]OpenClawCVEs Security Tracker

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 13 hours ago•CVE-2026-53493
6.9

CVE-2026-53493: Uncontrolled Resource Consumption in containerd Image-Pull Descriptor Graph Resolution

containerd is an open-source container runtime. Prior to versions 1.7.36, 2.0.13, 2.2.9, 2.3.6, and 2.4.1, a crafted OCI index graph can force very high CPU/memory usage during PullImage (before container start), causing long ContainerCreating stalls and, at larger sizes, node/runtime instability. The vulnerability occurs because containerd's image-pull descriptor graph resolution handlers processed OCI image indices and manifests recursively without enforcing boundaries on traversal depth or breadth, and without maintaining a global visited registry to count duplicate references.

Alon Barad
Alon Barad
11 views•6 min read
•about 14 hours ago•GHSA-62MM-XWMV-CRHG
7.5

GHSA-62MM-XWMV-CRHG: Unauthenticated Path Traversal in Khoj Static File Serving Endpoint

An unauthenticated path traversal vulnerability exists in the Khoj AI assistant platform via the static file serving endpoint `/home/{file_path:path}`. Due to improper path sanitization when handling user input with Python's pathlib module, a remote attacker can read arbitrary files from the server's filesystem.

Alon Barad
Alon Barad
5 views•5 min read
•about 15 hours ago•CVE-2026-100369
8.4

CVE-2026-100369: Argument Injection Vulnerability in CliInvoke Process Runner Factories

An argument injection vulnerability (CWE-88) in CliInvoke and AlastairLundy.CliInvoke allows local attackers to execute arbitrary system commands. By injecting double-quote characters into target file paths or arguments, attackers can terminate operating-system-level quoted boundaries and introduce new commands when shell runners are utilized.

Amit Schendel
Amit Schendel
5 views•5 min read
•about 16 hours ago•CVE-2026-100368
8.4

CVE-2026-100368: OS Command Injection in CliInvoke Shell Wrappers

An OS command injection vulnerability exists in the PowerShell and Cmd shell wrappers of the CliInvoke .NET library (specifically the CliInvoke.Specializations package). Under vulnerable configurations, arguments and targets are passed as a single flat string to ProcessStartInfo.Arguments, permitting double-quote breakout and execution of arbitrary secondary commands with host process privileges.

Amit Schendel
Amit Schendel
5 views•7 min read
•about 17 hours ago•GHSA-VV77-66RF-PM86
8.8

GHSA-vv77-66rf-pm86: Gas Draining Vulnerability in mpp Multi-Party Payments Library

A critical-severity input validation vulnerability in the Elixir multi-party payment library `mpp` allows unauthenticated remote attackers to exhaust the transaction fee payer's wallet balance. By submitting a crafted Ethereum transaction envelope with artificially inflated gas parameters, an attacker can force the server to co-sign and commit to pay exorbitant fees, leading to severe financial loss and Denial of Service.

Amit Schendel
Amit Schendel
6 views•5 min read
•about 18 hours ago•GHSA-QPXH-FF8M-C62V
7.5

GHSA-QPXH-FF8M-C62V: Gas Draining and Resource Exhaustion in ZenHive mpp Library

A critical gas draining vulnerability exists in the ZenHive mpp (Multi-Payment Protocol) library prior to version v0.6.0. By omitting validation of EIP-2930 access lists in custom 0x76 transaction envelopes, the library allows malicious clients to pad transaction payloads with dummy addresses, draining the gas sponsor's hot wallet.

Amit Schendel
Amit Schendel
4 views•8 min read