CVE-2026-28469 Overview
OpenClaw versions prior to 2026.2.14 contain a webhook routing vulnerability in the Google Chat monitor component that allows cross-account policy context misrouting when multiple webhook targets share the same HTTP path. Attackers can exploit first-match request verification semantics to process inbound webhook events under incorrect account contexts, bypassing intended allowlists and session policies.
This authorization bypass vulnerability (CWE-639: Authorization Bypass Through User-Controlled Key) enables attackers to manipulate webhook routing logic to execute actions within unintended account contexts, potentially circumventing security policies and access controls.
Critical Impact
Attackers can exploit ambiguous webhook path routing to bypass account-level security policies and allowlists, potentially gaining unauthorized access to sensitive data or functionality across different account contexts.
Affected Products
- OpenClaw versions prior to 2026.2.14
- OpenClaw Google Chat Monitor Component
- Systems utilizing shared webhook HTTP paths across multiple accounts
Discovery Timeline
- 2026-03-05 - CVE CVE-2026-28469 published to NVD
- 2026-03-05 - Last updated in NVD database
Technical Details for CVE-2026-28469
Vulnerability Analysis
The vulnerability exists in OpenClaw's Google Chat monitor component, specifically within the webhook routing logic. When multiple webhook targets are configured with the same HTTP path, the system uses first-match semantics to determine which account context should process incoming webhook events. This design flaw allows attackers to craft requests that are processed under an incorrect account context.
The root issue is an instance of CWE-639 (Authorization Bypass Through User-Controlled Key), where the webhook routing mechanism fails to properly validate that the selected target corresponds to the intended recipient account. This allows cross-account policy context misrouting, effectively bypassing security boundaries between different organizational accounts.
Root Cause
The vulnerability stems from ambiguous webhook path handling in the Google Chat monitor. When iterating through potential webhook targets, the original implementation would select the first matching target without ensuring uniqueness or validating account context associations. This first-match behavior creates a race condition where an attacker's webhook target configuration could intercept requests intended for a different account.
The fix addresses this by collecting all matched targets and explicitly rejecting requests when ambiguous routing conditions exist, rather than silently selecting the first match.
Attack Vector
This is a network-based attack that requires no user interaction or prior authentication. An attacker can exploit this vulnerability by:
- Configuring a webhook target with an HTTP path that matches an existing legitimate webhook configuration
- Sending crafted webhook requests that trigger the first-match routing behavior
- Having their malicious requests processed under the victim's account context, bypassing allowlists and session policies
The attack exploits the inherent ambiguity in shared webhook paths to achieve authorization bypass across account boundaries.
? authHeaderNow.slice("bearer ".length)
: bearer;
- let selected: WebhookTarget | undefined;
+ const matchedTargets: WebhookTarget[] = [];
for (const target of targets) {
const audienceType = target.audienceType;
const audience = target.audience;
Source: GitHub Commit Update
The patch modifies the webhook routing logic to collect all matching targets into an array rather than selecting the first match. This allows the system to detect ambiguous routing scenarios and reject requests that could be misrouted between accounts.
Detection Methods for CVE-2026-28469
Indicators of Compromise
- Unexpected webhook events processed under incorrect account contexts
- Webhook requests originating from unauthorized sources being accepted
- Policy bypass events where allowlisted restrictions are circumvented
- Anomalous activity patterns in Google Chat monitor logs indicating cross-account access
Detection Strategies
- Monitor webhook processing logs for requests that match multiple target configurations
- Implement alerting for webhook events that bypass expected account-level security policies
- Audit webhook target configurations for duplicate or overlapping HTTP paths
- Review authentication logs for bearer token usage patterns that don't align with expected account contexts
Monitoring Recommendations
- Enable verbose logging for the Google Chat monitor component to capture all webhook routing decisions
- Configure alerts for any webhook requests processed with ambiguous target matching
- Implement monitoring for cross-account activity that violates expected policy boundaries
- Regularly audit webhook configurations to identify potential path collision risks
How to Mitigate CVE-2026-28469
Immediate Actions Required
- Upgrade OpenClaw to version 2026.2.14 or later immediately
- Audit existing webhook configurations for duplicate HTTP paths across different accounts
- Review webhook processing logs for evidence of cross-account policy bypass
- Temporarily disable shared webhook paths until the patch is applied
Patch Information
The security fix is available in OpenClaw version 2026.2.14 and later. The patch modifies the webhook target selection logic in extensions/googlechat/src/monitor.ts to reject ambiguous routing scenarios rather than using first-match semantics. Organizations should apply this update as soon as possible to prevent exploitation.
For detailed information about the vulnerability and fix, refer to the GitHub Security Advisory and the VulnCheck Cross-Account Policy Advisory.
Workarounds
- Ensure all webhook target configurations use unique HTTP paths per account
- Implement network-level access controls to restrict webhook endpoint access to authorized sources only
- Add additional application-layer validation to verify account context before processing webhook events
- Consider disabling the Google Chat monitor component until the patch can be applied if shared paths are unavoidable
# Configuration example - Ensure unique webhook paths per account
# Before patching, audit your webhook configurations:
# 1. List all configured webhook targets
# 2. Identify any duplicate HTTP paths across accounts
# 3. Reconfigure to use unique paths per account
# Example: Update webhook path to include account identifier
# Original: /webhooks/googlechat
# Updated: /webhooks/googlechat/{account-id}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


