GHSA-vvjh-f6p9-5vcf
ZDI-CAN-29311: OpenClaw Canvas Authentication Bypass Vulnerability -- ABSTRACT ------------------------------------- Trend Micro's Zero Day Initiative has identified a vulnerability affecting the following products: OpenClaw - OpenClaw -- VULNERABILITY DETAILS ------------------------ * Version tested: openclaw 2026.2.17 * Platform tested: macOS 26.3 --- ### Analysis ## Description The OpenClaw gateway's `authorizeCanvasRequest()` function implements an IP-based authentication fallback for canvas endpoints (`/__openclaw__/a2ui/`, `/__openclaw__/canvas/`, `/__openclaw__/ws`). When a WebSocket client authenticates from a private IP address, ALL subsequent HTTP requests from that same IP are granted canvas access without requiring their own authentication token. In environments where multiple clients share a single IP address ��� corporate NAT, VPN concentrators, Kubernetes clusters, Docker host-mode networking ��� an unauthenticated attacker on the same network is granted full canvas access by virtue of sharing an IP with a legitimate authenticated client. ## Root Cause Three functions in `src/gateway/server-http.ts` create this vulnerability: ### 1. IP-matching function (line ~100) ```typescript function hasAuthorizedWsClientForIp(clients: Set<GatewayWsClient>, clientIp: string): boolean { for (const client of clients) { if (client.clientIp && client.clientIp === clientIp) { return true; } } return false; } ``` This function checks if ANY connected WebSocket client shares the same IP. It does not verify that the HTTP request belongs to the same user, session, or browser as the WS client. ### 2. IP-based fallback in authorizeCanvasRequest (line ~109) ```typescript async function authorizeCanvasRequest(params: { ... }): Promise<GatewayAuthResult> { // ... token check first ... const clientIp = resolveGatewayClientIp({ ... }); // Only allow fallback for private/loopback addresses if (!isPrivateOrLoopbackAddress(clientIp)) {
Properties
- ghsa_id
- GHSA-vvjh-f6p9-5vcf
- severity
- high
- summary
- OpenClaw Canvas Authentication Bypass Vulnerability
- cvss_score
- 7.4
- cve_id
- GHSA-vvjh-f6p9-5vcf
- cvss_vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
- is_ghsa_only
- true
- ghsa_published
- 2026-03-04T19:17:36Z
- source_url
- https://github.com/advisories/GHSA-vvjh-f6p9-5vcf
- ghsa_updated
- 2026-03-04T19:17:36Z
Related Entities (3)
AFFECTS (1)
HAS_WEAKNESS (1)
REPORTED_BY (1)
Explore deeper with Ninja Signal's threat intelligence graph