GHSA-chm2-m3w2-wcxm — openclaw
Fix: openclaw/openclaw#16243GHSA-chm2-m3w2-wcxm is a security vulnerability in openclaw. A fix is available for openclaw — see the affected versions and patch details below.
OpenClaw Google Chat spoofing access with allowlist authorized mutable email principal despite sender-ID mismatch
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
openclawnpmclawdbotnpmDescription
Summary
Google Chat allowlisting supports matching by sender email in addition to immutable sender resource name (users/<id>). This weakens identity binding if a deployment assumes allowlists are strictly keyed by immutable principals.
Affected Packages / Versions
(As of 2026-02-14; based on latest published npm versions)
openclaw(npm):<= 2026.2.13clawdbot(npm):<= 2026.1.24-3
Details
Affected component:
extensions/googlechat/src/monitor.ts
The allowFrom checks accept:
- Immutable sender id (
users/<id>) - Raw email (
[email protected]) for usability
Historically, users/<email> was also treated as an email allowlist entry. This is now deprecated because it looks like an immutable ID but is actually a mutable principal.
Security Triage (2026-02-14)
Severity: Low
Rationale:
- Requests are authenticated as coming from Google Chat (token verification), so this is not a generic unauthenticated spoofing vector.
- A realistic exploit generally requires Google Workspace / IdP administrative control over identity lifecycle (e.g. reassigning an email address to a different underlying account) to obtain the same email with a different
users/<id>. - With that level of access, the attacker typically has broader compromise paths.
We still treat it as a valid defense-in-depth report because accepting mutable principals in authorization decisions can increase risk in chained-failure scenarios.
Remediation / Behavior Changes
Goal: preserve usability while reducing footguns.
- Raw email allowlists remain supported.
users/<email>is deprecated and treated as a user id, not as an email allowlist.- Documentation recommends
users/<id>when strict immutable binding is required.
Fix Commit(s)
c8424bf29a921e25663b29f308640b3d91a49432(PR #16243)
Thanks @vincentkoc for reporting.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | openclaw | all versions | 2026.2.14npm install openclaw@2026.2.14 |
| 📦npm | clawdbot | all versions | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for openclaw, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update openclaw to 2026.2.14 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-chm2-m3w2-wcxm is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-chm2-m3w2-wcxm can be triaged on real exposure rather than presence alone.
Tailored to GHSA-chm2-m3w2-wcxm. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-chm2-m3w2-wcxm in your dependencies?
O3 Security finds GHSA-chm2-m3w2-wcxm across npm dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.