The vulnerability is an authentication bypass in the OpenClaw sandbox browser bridge server. The root cause is that the startBrowserBridgeServer function in src/browser/bridge-server.ts would instantiate an HTTP server without any authentication middleware if it was not explicitly provided with an authToken.
The execution flow that triggers this vulnerability starts in src/agents/sandbox/context.ts with the resolveSandboxContext function. In vulnerable versions, this function called ensureSandboxBrowser (from src/agents/sandbox/browser.ts) without any authentication parameters. Consequently, ensureSandboxBrowser would proceed to call startBrowserBridgeServer without the necessary auth tokens. This resulted in an unauthenticated server running on a local port, exposing sensitive browser control endpoints.
The patch addresses this at multiple levels. First, it modifies resolveSandboxContext to always resolve authentication credentials. Second, it updates ensureSandboxBrowser to accept and pass down these credentials. Finally, and most critically, it hardens startBrowserBridgeServer in two ways: it adds a check to ensure that either a token or password is provided, and it adds a new middleware function, isAuthorizedBrowserRequest, to validate incoming requests against those credentials. A subsequent commit further hardens this by ensuring the server only binds to loopback interfaces and by generating a random token if no other authentication is configured, guaranteeing the server is never unauthenticated.