Skip to content

OpenClaw has a Matrix allowlist bypass via displayName and cross-homeserver localpart matching

Moderate severity GitHub Reviewed Published Feb 14, 2026 in openclaw/openclaw • Updated Feb 17, 2026

Package

npm openclaw (npm)

Affected versions

>= 2026.1.14-1, < 2026.2.2

Patched versions

2026.2.2

Description

Summary

OpenClaw Matrix DM allowlist matching could be bypassed in certain configurations.

Matrix support ships as an optional plugin (not bundled with the core install), so this only affects deployments that have installed and enabled the Matrix plugin.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected: >= 2026.1.14-1, < 2026.2.2
  • Patched: >= 2026.2.2

Details

In affected versions, DM allowlist decisions could be made by exact-matching channels.matrix.dm.allowFrom entries against multiple sender-derived candidates, including:

  • The sender display name (attacker-controlled and non-unique)
  • The sender MXID localpart with the homeserver discarded, so @alice:evil.example and @alice:trusted.example both match alice

If an operator configured channels.matrix.dm.allowFrom with display names or bare localparts (for example, "Alice" or "alice"), a remote Matrix user may be able to impersonate an allowed identity for allowlist purposes and reach the routing/agent pipeline.

Impact

Matrix DM allowlist identity confusion. The practical impact depends on your Matrix channel policies and what capabilities are enabled downstream.

Mitigation

  • Upgrade to openclaw >= 2026.2.2.
  • Ensure Matrix allowlists contain only full Matrix user IDs (MXIDs) like @user:server (or *). Do not use display names or bare localparts.

Fix Commit(s)

  • 8f3bfbd1c4fb967a2ddb5b4b9a05784920814bcf

Release Process Note

The patched version is already published to npm; the advisory can be published once you're ready.

Thanks @MegaManSec (https://joshua.hu) of AISLE Research Team for reporting.

References

@steipete steipete published to openclaw/openclaw Feb 14, 2026
Published to the GitHub Advisory Database Feb 17, 2026
Reviewed Feb 17, 2026
Last updated Feb 17, 2026

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

EPSS score

Weaknesses

Authentication Bypass by Spoofing

This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks. Learn more on MITRE.

CVE ID

No known CVE

GHSA ID

GHSA-rmxw-jxxx-4cpc

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.