The vulnerability is a Server-Side Request Forgery (SSRF) in the browser profile creation process of OpenClaw. It allowed a user to specify a cdpUrl pointing to a private or internal network, bypassing the application's SSRF policy. The root cause lies in a change that automatically added any hostname from a cdpUrl in the configuration to the SSRF allowlist. This was done in the resolveBrowserConfig function, which used the helper function collectConfiguredCdpHostnames to extract the hostnames from user-provided configuration. This allowed a malicious cdpUrl to be saved without validation.
The vulnerability could then be triggered by "normal profile status flows," which use the resolveCdpReachabilityPolicy function to check if the CDP endpoint is available. The original implementation of this function did not correctly handle the SSRF policy for these checks in strict-mode deployments.
The fix involves two main changes. First, the automatic allowlisting of all cdpUrl hostnames was removed by deleting the collectConfiguredCdpHostnames function and reverting the changes in resolveBrowserConfig. Second, resolveCdpReachabilityPolicy was updated to granularly and temporarily allow the specific CDP host for a given profile during reachability checks, ensuring that only legitimate CDP endpoints can be contacted.