GHSA-25pw-4h6w-qwvm
MEDIUMOpenClaw has a BlueBubbles group allowlist mismatch via DM pairing-store fallback
EPSS Exploitation Probability
EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.
Blast Radius
Weekly download volume for affected packages — a proxy for how broadly this vulnerability is deployed.
openclawnpmDescription
Summary
In [email protected], BlueBubbles group authorization could incorrectly treat DM pairing-store identities as group allowlist identities when dmPolicy=pairing and groupPolicy=allowlist.
A sender that was only DM-paired (not explicitly present in groupAllowFrom) could pass group sender checks for message and reaction ingress.
Per OpenClaw's SECURITY.md trust model, this is a constrained authorization-consistency issue, not a multi-tenant boundary bypass or host-privilege escalation.
Affected Packages / Versions
- Package:
openclaw(npm) - Latest published npm version at triage time:
2026.2.25 - Affected versions:
<= 2026.2.25 - Patched versions:
>= 2026.2.26(planned next release)
Technical Details
Root cause was DM/group allowlist composition where DM pairing-store identities could flow into group authorization decisions.
Fix approach:
- centralize DM/group authorization composition via shared resolvers
- remove local DM/group list recomposition at channel callsites
- add cross-channel regression coverage for message + reaction ingress
- add CI guard to block future pairing-store leakage into group auth composition
Impact
- Affects deployments using BlueBubbles with
groupPolicy=allowlistanddmPolicy=pairingwhen pairing-store entries are present. - Could allow DM-authorized identities to be treated as group-authorized without explicit
groupAllowFrommembership. - Does not bypass gateway auth, sandbox boundaries, or create new host-level privilege beyond existing DM authorization.
Fix Commit(s)
051fdcc428129446e7c084260f837b7284279ce9
Release Process Note
patched_versions is pre-set to the planned next release (2026.2.26) so once npm 2026.2.26 is published, this advisory can be published without further content edits.
OpenClaw thanks @tdjackey for reporting.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | openclaw | all versions | 2026.2.26 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for openclaw. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
Update openclaw to 2026.2.26 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-25pw-4h6w-qwvm 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 pinpoints whether GHSA-25pw-4h6w-qwvm is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-25pw-4h6w-qwvm. 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-25pw-4h6w-qwvm in your dependencies?
O3 detects GHSA-25pw-4h6w-qwvm across npm dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.