Executive brief
OpenClaw is an AI automation platform that manages remote device connections through authenticated WebSocket sessions. When devices are removed or authentication tokens are revoked, the application failed to disconnect already-active sessions, allowing revoked devices to maintain unauthorized access until they voluntarily reconnect. An attacker with a revoked token or removed device could continue accessing systems and performing actions through an existing WebSocket connection indefinitely.
Technical details
OpenClaw's device management and token revocation functionality (in src/gateway/server-methods/devices.ts and src/gateway/server.impl.ts) updated stored credentials but did not actively terminate existing WebSocket connections. When a device is removed or its token revoked, the server updated its credential store but did not send disconnect messages to connected clients, allowing already-authenticated sessions to continue sending commands. This is a session expiration weakness (CWE-613) affecting the gateway component. An attacker who previously authenticated a device before credential revocation could continue using that session for API calls and actions. The vulnerability requires the attacker to have already established an active WebSocket connection before revocation. The issue was patched in version 2026.3.28 via commit 7a801cc451, which implements proper session termination when devices are removed or tokens revoked.
Affected products
- OpenClaw OpenClaw <= 2026.3.24
Timeline
- 2026-03-31: disclosed
- 2026-03-28: patched: Fixed in version 2026.3.28
References
- https://github.com/openclaw/openclaw/security/advisories/GHSA-2pr2-hcv6-7gwv
- https://github.com/openclaw/openclaw/commit/7a801cc451e9e667b705eeccff651923a1b8c863
- https://github.com/openclaw/openclaw
- https://www.vulncheck.com/advisories/openclaw-incomplete-websocket-session-termination-on-device-removal-and-token-revocation