CVE-2026-100554: OpenClaw before 2026.8.1 Canvas Capability Revocation Bypass
OpenClaw (npm package 'openclaw') versions >= 2026.5.12 and < 2026.8.1 do not immediately invalidate Canvas HTTP authorization when a paired node is revoked. Node revocation invalidates the WebSocket client, but Canvas HTTP authorization continues to accept and renew the previously granted capability until WebSocket close cleanup completes. As a result, a revoked paired node can continue exercising its Canvas capability against the capability's configured routes during the close grace period. The issue is fixed in 2026.8.1; as a workaround, restart the Gateway after revoking a node that has Canvas access.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/openclawto a version that resolves this vulnerability.Fixed in 2026.8.1 - Operational
Restart the Gateway after revoking a node that has Canvas access.
Event History
Frequently Asked Questions
Which deployments are affected?
Deployments using the npm package openclaw versions 2026.5.12 through versions before 2026.8.1 are affected when a paired node has been granted Canvas access. The issue concerns Canvas HTTP authorization after that node is revoked.
What access does an attacker need to exploit this?
The attacker needs to be a previously paired node with a Canvas capability that is subsequently revoked. They can continue to use that capability only against its configured routes during the WebSocket close grace period.
Does revoking the node stop all of its access immediately?
No. Revocation invalidates the node's WebSocket client, but its Canvas HTTP authorization can continue to be accepted and renewed until WebSocket close cleanup finishes.
What can be done if upgrading is not immediately possible?
Restart the Gateway after revoking any node that has Canvas access. This is the documented workaround for ending the remaining Canvas HTTP authorization window.
How can I determine whether a revoked node could still be affected?
Check whether the node had Canvas access before it was revoked and whether the Gateway was restarted afterward. Without the restart, its previously granted Canvas capability may remain usable during the WebSocket close grace period.