-
-
Notifications
You must be signed in to change notification settings - Fork 69.4k
[Bug]: Internal tool→gateway RPC calls incorrectly blocked by ws:// security check #22104
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingsecuritySecurity documentationSecurity documentation
Description
Summary
Bug: Internal tool→gateway RPC calls incorrectly blocked by ws:// security check
Environment:
- OpenClaw version: 2026.2.14+
- Setup: Docker container,
gateway.bind: "lan"
Summary:
The CWE-319 security check correctly blocks plaintext ws:// to remote hosts, but incorrectly blocks internal tool→gateway RPC calls that happen within the same process. This is a regression — these calls worked before v2026.2.14.
The bug:
When bind: "lan", the code resolves the gateway URL for internal RPC calls to the container's Docker network IP (e.g., ws://172.18.0.2:18789) instead of ws://127.0.0.1:18789. The security check then blocks this as "insecure."
Why this is a bug, not a feature request:
- The security check's intent is to prevent credential interception over the network
- Internal calls (agent → gateway in same process) have zero interception risk — there is no network
- The gateway listens on
0.0.0.0which includes127.0.0.1— localhost would work - The code choosing LAN IP instead of localhost for internal calls is the actual bug
- This broke existing functionality that worked in v2026.2.13
Current workarounds:
- Downgrade to v2026.2.13
- Use
bind: "loopback"(breaks external WebUI access) - Complex TLS/reverse proxy setup
Steps to reproduce
Reproduction:
- Run OpenClaw in Docker with
gateway.bind: "lan" - Upgrade to v2026.2.14+
- Try
sessions_listtool → fails with:
Expected behavior
Expected behavior:
Internal RPC calls should use ws://127.0.0.1:<port> since agent and gateway are co-located.
Actual behavior
Tools cannot connect to gateway
OpenClaw version
2026.2.14+
Operating system
Linux
Install method
docker
Logs, screenshots, and evidence
Impact and severity
Affected tools:
sessions_listsessions_historycron(list/add/remove)- Any tool that calls gateway RPCs
Additional information
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingsecuritySecurity documentationSecurity documentation
Type
Fields
Give feedbackNo fields configured for issues without a type.