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-RF6H-5GPW-QRGQ

GHSA-RF6H-5GPW-QRGQ: Authorization Bypass in OpenClaw Microsoft Teams Extension via Invoke Activities

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 29, 2026·4 min read·12 visits

Executive Summary (TL;DR)

An authorization bypass in OpenClaw's MS Teams integration allows attackers outside the allowlist to submit session feedback via `invoke` activities, polluting session logs and triggering unauthorized AI actions.

OpenClaw versions up to 2026.3.24 contain an authorization bypass vulnerability in the Microsoft Teams extension. The flaw allows unauthorized users to bypass sender allowlists by sending specially crafted `invoke` activities, leading to unauthorized session feedback recording and potential feedback reflection.

Vulnerability Overview

The OpenClaw artificial intelligence framework provides a Microsoft Teams extension (extensions/msteams) to facilitate interactions between users and AI agents. This extension relies on specific security controls, primarily dmPolicy, allowFrom, and groupAllowFrom, to restrict which users possess authorization to interact with the bot.

The application correctly applies these authorization checks to standard text messages arriving through the primary ActivityType.Message pathway. A critical oversight occurs when processing secondary interaction methods, specifically invoke activities generated by user interface components.

This discrepancy introduces an Incorrect Authorization (CWE-863) vulnerability, documented as GHSA-RF6H-5GPW-QRGQ. Unauthenticated or unauthorized users can bypass the primary allowlist mechanism and interact directly with the agent's feedback system, regardless of network position or policy configuration.

Root Cause Analysis

The vulnerability originates from the asynchronous handling mechanisms within the MSTeamsActivityHandler class. When the Microsoft Teams platform sends an event to the bot framework, the incoming payload includes an activity type parameter that determines the subsequent processing route inside the application.

Standard user messages (ActivityType.Message) traverse a dedicated authorization middleware that validates the sender against the configured allowFrom list. If the sender identifier is absent from this list, the middleware immediately rejects the request and halts further context processing.

Interactions with adaptive cards, such as "Like" or "Dislike" feedback buttons, generate an invoke activity with the specific name message/submitAction. The code path responsible for handling these invoke events lacked the required calls to the authorization middleware, leaving the application entirely dependent on the client to govern request legitimacy.

Code Analysis

Prior to the patch, the application processed feedback invocation events without verifying the sender's origin against the dmPolicy or groupPolicy. The handler simply parsed the incoming invoke payload and recorded the embedded feedback directly into the corresponding .jsonl session context.

Commit c5415a474bb085404c20f8b312e436997977b1ea resolves this architectural flaw by centralizing the authorization logic. The patch introduces a shared utility function named resolveMSTeamsSenderAccess to ensure consistent validation logic applies across all activity types.

The remediation modifies extensions/msteams/src/monitor-handler.ts by introducing the isFeedbackInvokeAuthorized asynchronous function. This function explicitly evaluates the sender access decision before allowing the feedback processing logic to proceed.

// Post-patch extensions/msteams/src/monitor-handler.ts
async function isFeedbackInvokeAuthorized(
  context: MSTeamsTurnContext,
  deps: MSTeamsMessageHandlerDeps,
): Promise<boolean> {
  const resolved = await resolveMSTeamsSenderAccess({
    cfg: deps.cfg,
    activity: context.activity,
  });
 
  // Access control validation check
  if (isDirectMessage && resolved.access.decision !== "allow") {
    deps.log.debug?.("dropping feedback invoke (dm sender not allowlisted)", {
      sender: senderId,
      conversationId,
    });
    return false;
  }
  return true;
}

Exploitation and Impact

Exploitation requires an attacker to transmit a crafted HTTP request representing an invoke activity directly to the Microsoft Teams bot endpoint. The attacker must specify message/submitAction as the invoke name and embed the desired feedback payload within the request body.

The attacker must possess knowledge of a valid active session identifier, or the application configuration must allow the creation of new session contexts upon receiving unprompted feedback. The provided test suite monitor-handler.feedback-authz.test.ts demonstrates this exact vector by simulating an attacker-aad sender identity omitted from the allowFrom list.

Successful exploitation allows the attacker to inject arbitrary data into the .jsonl session files utilized by the OpenClaw agent. If the framework is configured to execute "feedback reflection", this manipulated data forces the agent to perform unauthorized downstream tasks or generate specific responses based on the fabricated feedback.

Remediation and Mitigation

Administrators must update the OpenClaw framework to a version released after March 26, 2026, incorporating commit c5415a474bb085404c20f8b312e436997977b1ea. This update ensures the proper authorization gating applies to all Microsoft Teams activity types.

Security teams should review historical .jsonl session records for indications of exploitation. Anomalous feedback entries associated with unrecognized Microsoft Teams sender identifiers signify potential unauthorized manipulation of the AI agent's context.

Administrators must verify the channel configuration sets dmPolicy to allowlist and maintains accurate entries in the allowFrom array. Strict management of these lists prevents unauthorized entity interactions and restricts the attack surface exclusively to explicitly trusted user identities.

Official Patches

OpenClawOfficial code commit containing the vulnerability fix

Fix Analysis (1)

Technical Appendix

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

Affected Systems

OpenClaw AI FrameworkOpenClaw Microsoft Teams Extension (extensions/msteams)

Affected Versions Detail

Product
Affected Versions
Fixed Version
openclaw
OpenClaw
<= 2026.3.24> 2026.3.24
AttributeDetail
CWE IDCWE-863 (Incorrect Authorization)
Attack VectorNetwork (Crafted Microsoft Teams Activity)
ImpactUnauthorized Data Manipulation / Privilege Abuse
Exploit StatusProof of Concept (Unit Test)
CVSS Score5.3 (Medium)
Affected ComponentMSTeamsActivityHandler

MITRE ATT&CK Mapping

T1548Abuse Elevation Control Mechanism
Privilege Escalation
T1565.001Data Manipulation: Stored Data Manipulation
Impact
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.

Known Exploits & Detection

Fix Commit Test CodeThe patch includes monitor-handler.feedback-authz.test.ts simulating an attacker-aad identity exploiting the bypass.

Vulnerability Timeline

Vulnerability patch committed to repository
2026-03-26
GitHub Advisory GHSA-RF6H-5GPW-QRGQ published
2026-03-26

References & Sources

  • [1]GitHub Security Advisory GHSA-rf6h-5gpw-qrgq
  • [2]OpenClaw Fix Commit
  • [3]OpenClaw Security Documentation

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 21 hours ago•CVE-2026-55699
6.5

CVE-2026-55699: Arbitrary Directory Deletion via Path Traversal in pnpm globalBinDir Resolver

CVE-2026-55699 (also identified as GHSA-4gxm-v5v7-fqc4) is a critical path traversal and arbitrary directory deletion vulnerability in the pnpm package manager. The issue exists because the manifest validation process fails to prevent relative path segments within the package 'bin' keys. When a malicious package containing structured path traversal markers is globally installed and later manipulated, pnpm resolves the target paths through path.join() and passes the resolved paths to a recursive deletion function, resulting in arbitrary directory removal.

Amit Schendel
Amit Schendel
7 views•6 min read
•1 day ago•CVE-2026-55700
7.1

CVE-2026-55700: Path Traversal and Arbitrary File Write in pnpm stage download

A path traversal vulnerability in pnpm stage download allows malicious registries or compromised package manifests to overwrite arbitrary files on the victim's filesystem via unvalidated package name and version fields.

Alon Barad
Alon Barad
8 views•4 min read
•1 day ago•GHSA-WW5P-J6CJ-6MQQ
5.5

GHSA-WW5P-J6CJ-6MQQ: Credential Exposure in Nezha Dashboard DDNS and Notification APIs

GHSA-WW5P-J6CJ-6MQQ is a technical credential exposure vulnerability in Nezha Dashboard prior to version 2.2.5. The vulnerability allows authenticated administrative users or actors possessing scoped read-only Personal Access Tokens (PATs) to exfiltrate plaintext third-party API credentials, secret keys, and webhook authorization headers due to a lack of data redaction during API object serialization.

Amit Schendel
Amit Schendel
6 views•7 min read
•1 day ago•GHSA-FR4H-3CPH-29XV
7.1

GHSA-FR4H-3CPH-29XV: Path Traversal and Directory Hijacking in pnpm and pacquet Dependency Resolution

GHSA-FR4H-3CPH-29XV is a high-severity path traversal vulnerability in pnpm and its Rust-based port pacquet. The flaw manifests when using the hoisted node-linker configuration, allowing an attacker to manipulate the lockfile to resolve relative traversal sequences or target reserved subdirectories, leading to arbitrary file write or execution hijacking.

Amit Schendel
Amit Schendel
6 views•8 min read
•1 day ago•GHSA-72R4-9C5J-MJ57
7.1

GHSA-72R4-9C5J-MJ57: Arbitrary File Deletion via Path Traversal in pnpm patch-remove

A path traversal vulnerability in the pnpm package manager's 'patch-remove' command allows an attacker to delete arbitrary files outside the patches directory. By manipulating configuration files like package.json, an attacker can specify a traversal path that the application deletes recursively without validating the path's containment.

Alon Barad
Alon Barad
6 views•5 min read
•1 day ago•GHSA-QRV3-253H-G69C
8.3

GHSA-QRV3-253H-G69C: Path Traversal and Arbitrary Symlink Creation via configDependencies in pnpm

A high-severity path traversal vulnerability exists in the pnpm package manager. By crafting a malicious lockfile (pnpm-lock.yaml) with path traversal characters in the configDependencies block, an attacker can create arbitrary directories and symlinks outside the project's node_modules/.pnpm-config directory. This exploitation happens automatically during pnpm installation, even when executing with scripts disabled via the --ignore-scripts flag.

Amit Schendel
Amit Schendel
6 views•7 min read