Skip to content
Heist/ feed
Back to feed
High

OpenClaw Gateway tool allowed unrestricted gatewayUrl override

Type: advisorySources: OSV

OpenClaw is a personal AI assistant. Prior to OpenClaw version 2026.2.14, the Gateway tool accepted a tool-supplied `gatewayUrl` without sufficient restrictions, which could cause the OpenClaw host to attempt outbound WebSocket connections to user-specified targets. This requires the ability to invoke tools that accept `gatewayUrl` overrides (directly or indirectly). In typical setups this is limited to authenticated operators, trusted automation, or environments where tool calls are exposed to non-operators. In other words, this is not a drive-by issue for arbitrary internet users unless a deployment explicitly allows untrusted users to trigger these tool calls. Some tool call paths allowed `gatewayUrl` overrides to flow into the Gateway WebSocket client without validation or allowlisting. This meant the host could be instructed to attempt connections to non-gateway endpoints (for example, localhost services, private network addresses, or cloud metadata IPs). In the common case, this results in an outbound connection attempt from the OpenClaw host (and corresponding errors/timeouts). In environments where the tool caller can observe the results, this can also be used for limited network reachability probing. If the target speaks WebSocket and is reachable, further interaction may be possible. Starting in version 2026.2.14, tool-supplied `gatewayUrl` overrides are restricted to loopback (on the configured gateway port) or the configured `gateway.remote.url`. Disallowed protoc

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-26322
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 08:15 UTC · Revision 1

Source evidence

OpenClaw Gateway tool allowed unrestricted gatewayUrl override

core-osv · Original source

Published 19 Feb 2026, 22:33 UTC

OpenClaw is a personal AI assistant. Prior to OpenClaw version 2026.2.14, the Gateway tool accepted a tool-supplied `gatewayUrl` without sufficient restrictions, which could cause the OpenClaw host to attempt outbound WebSocket connections to user-specified targets. This requires the ability to invoke tools that accept `gatewayUrl` overrides (directly or indirectly). In typical setups this is limited to authenticated operators, trusted automation, or environments where tool calls are exposed to non-operators. In other words, this is not a drive-by issue for arbitrary internet users unless a deployment explicitly allows untrusted users to trigger these tool calls. Some tool call paths allowed `gatewayUrl` overrides to flow into the Gateway WebSocket client without validation or allowlisting. This meant the host could be instructed to attempt connections to non-gateway endpoints (for example, localhost services, private network addresses, or cloud metadata IPs). In the common case, this results in an outbound connection attempt from the OpenClaw host (and corresponding errors/timeouts). In environments where the tool caller can observe the results, this can also be used for limited network reachability probing. If the target speaks WebSocket and is reachable, further interaction may be possible. Starting in version 2026.2.14, tool-supplied `gatewayUrl` overrides are restricted to loopback (on the configured gateway port) or the configured `gateway.remote.url`. Disallowed protoc

osv:CVE-2026-26322
Complete source record
{
  "id": "804dc390a2af2233e2483eb303b72750d09e668bda58ad4f48df339fce3449cf",
  "url": "https://osv.dev/vulnerability/CVE-2026-26322",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OpenClaw Gateway tool allowed unrestricted gatewayUrl override",
    "summary": "OpenClaw is a personal AI assistant. Prior to OpenClaw version 2026.2.14, the Gateway tool accepted a tool-supplied `gatewayUrl` without sufficient restrictions, which could cause the OpenClaw host to attempt outbound WebSocket connections to user-specified targets. This requires the ability to invoke tools that accept `gatewayUrl` overrides (directly or indirectly). In typical setups this is limited to authenticated operators, trusted automation, or environments where tool calls are exposed to non-operators. In other words, this is not a drive-by issue for arbitrary internet users unless a deployment explicitly allows untrusted users to trigger these tool calls. Some tool call paths allowed `gatewayUrl` overrides to flow into the Gateway WebSocket client without validation or allowlisting. This meant the host could be instructed to attempt connections to non-gateway endpoints (for example, localhost services, private network addresses, or cloud metadata IPs). In the common case, this results in an outbound connection attempt from the OpenClaw host (and corresponding errors/timeouts). In environments where the tool caller can observe the results, this can also be used for limited network reachability probing. If the target speaks WebSocket and is reachable, further interaction may be possible. Starting in version 2026.2.14, tool-supplied `gatewayUrl` overrides are restricted to loopback (on the configured gateway port) or the configured `gateway.remote.url`. Disallowed protoc",
    "evidence": "osv:CVE-2026-26322",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-26322",
      "aliases": [
        "CVE-2026-26322",
        "GHSA-g6q9-8fvw-f7rf"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/openclaw/openclaw",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b5ab92eef4e4f6099c98817e0917c99ec9e03045"
                },
                {
                  "fixed": "c5406e1d2434be2ef6eb4d26d8f1798d718713f4"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:openclaw:openclaw:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2026.2.14"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c5406e1d2434be2ef6eb4d26d8f1798d718713f4"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b5ab92eef4e4f6099c98817e0917c99ec9e03045"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2026.2.14"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2026.2.13",
            "v2026.2.12",
            "v2026.2.9",
            "v2026.2.6-3",
            "v2026.2.6-2",
            "v2026.2.6-1",
            "v2026.2.6",
            "v2026.2.3",
            "v2026.2.2",
            "v2026.2.1",
            "v2026.1.30",
            "v2026.1.29",
            "v2026.1.24-1",
            "v2026.1.24",
            "v2026.1.23",
            "v2026.1.22",
            "v2026.1.21",
            "v2026.1.20",
            "v2026.1.16-2",
            "v2026.1.15",
            "v2026.1.14-1",
            "v2026.1.13",
            "v2026.1.12-2",
            "v2026.1.12",
            "v2026.1.11-3",
            "v2026.1.11-2",
            "v2026.1.11-1",
            "v2026.1.11",
            "v2026.1.10",
            "v2026.1.9",
            "v2026.1.8",
            "v2026.1.5-3",
            "v2026.1.5-2",
            "v2026.1.5-1",
            "v2026.1.5",
            "v2.0.0-beta5",
            "v2.0.0-beta4",
            "v2.0.0-beta3",
            "v2.0.0-beta2",
            "v2.0.0-beta1",
            "v1.3.0",
            "v1.2.2",
            "v1.2.1",
            "v1.2.0",
            "v1.1.0",
            "v1.0.4",
            "v0.1.3",
            "v0.1.2",
            "v0.1.1",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-26322.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:27.476546837Z",
      "provider": "osv",
      "references": [
        "https://github.com/openclaw/openclaw/releases/tag/v2026.2.14",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26322.json",
        "https://github.com/openclaw/openclaw/security/advisories/GHSA-g6q9-8fvw-f7rf",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-26322",
        "https://github.com/openclaw/openclaw/commit/c5406e1d2434be2ef6eb4d26d8f1798d718713f4"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26322.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-26322",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493707,
  "published_at": "2026-02-19T22:33:10.4+00:00"
}