Skip to content
Fencer Intel
low —

GHSA-chm2-m3w2-wcxm json

OpenClaw Google Chat spoofing access with allowlist authorized mutable email principal despite sender-ID mismatch

published 8mo ago modified 8mo ago

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

### 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.13` - `clawdbot` (npm): `<= 2026.1.24-3`

### Details Affected component: - `extensions/googlechat/src/monitor.ts`

The `allowFrom` checks accept: - Immutable sender id (`users/<id>`) - Raw email (`alice@example.com`) 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.

Patch / fix

Is GHSA-chm2-m3w2-wcxm in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Affected packages

ecosystem package affected fixed in
npm openclaw
<2026.2.14
2026.2.14
npm clawdbot
<=2026.1.24-3
no fix listed

Classification

Weakness
  • CWE-290 Authentication Bypass by Spoofing
  • CWE-863 Incorrect Authorization

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

The maintainers of openclaw/openclaw published their own advisory on GitHub. Reviewed sources take precedence over it.