OpenClaw versions prior to 2026.2.25 contain an authentication bypass vulnerability in the trusted-proxy Control UI pairing mechanism that…
VulnCheck·CWE-807·Published 2026-03-03
OpenClaw versions prior to 2026.2.25 contain an authentication bypass vulnerability in the trusted-proxy Control UI pairing mechanism that accepts client.id=control-ui without proper device identity verification. An authenticated node role websocket client can exploit this by using the control-ui client identifier to skip pairing requirements and gain unauthorized access to node event execution flows.
OpenClaw versions prior to 2026.2.25 contain an authentication bypass vulnerability in the trusted-proxy Control UI pairing mechanism that accepts client.id=control-ui without proper device identity verification. An authenticated node role websocket client can exploit this by using the control-ui client identifier to skip pairing requirements and gain unauthorized access to node event execution flows.
## Summary A trusted-proxy Control UI pairing bypass accepted `client.id=control-ui` without device identity checks. The bypass did not require `operator` role, so an authenticated `node` role session could connect unpaired and reach node event methods. ## Impact With trusted-proxy authentication enabled, a `node` role websocket client could skip pairing by using `client.id=control-ui`. That created an authorization boundary bypass from a node-scoped connection into node event execution flows. ## Affected Packages / Versions - Package: `openclaw` (npm) - Affected range: `<= 2026.2.24` - Latest published vulnerable version: `2026.2.24` - Patched in next release: `2026.2.25` (pre-set below so this advisory is ready to publish after npm release) ## Fix The trusted-proxy Control UI bypass now additionally requires `role === "operator"`. ### Fix Commit(s) - `ec45c317f5d0631a3d333b236da58c4749ede2a3` ## Release Process Note `patched_versions` is intentionally pre-set to the release (`2026.2.25`). Advisory published with npm release `2026.2.25`.2.25` is published, the remaining GHSA action is to publish this advisory. OpenClaw thanks @tdjackey for reporting.
## Summary A trusted-proxy Control UI pairing bypass accepted `client.id=control-ui` without device identity checks. The bypass did not require `operator` role, so an authenticated `node` role session could connect unpaired and reach node event methods. ## Impact With trusted-proxy authentication enabled, a `node` role websocket client could skip pairing by using `client.id=control-ui`. That created an authorization boundary bypass from a node-scoped connection into node event execution flows. ## Affected Packages / Versions - Package: `openclaw` (npm) - Affected range: `<= 2026.2.24` - Latest published vulnerable version: `2026.2.24` - Patched in next release: `2026.2.25` (pre-set below so this advisory is ready to publish after npm release) ## Fix The trusted-proxy Control UI bypass now additionally requires `role === "operator"`. ### Fix Commit(s) - `ec45c317f5d0631a3d333b236da58c4749ede2a3` ## Release Process Note `patched_versions` is intentionally pre-set to the release (`2026.2.25`). Advisory published with npm release `2026.2.25`.2.25` is published, the remaining GHSA action is to publish this advisory. OpenClaw thanks @tdjackey for reporting.
Las versiones de OpenClaw anteriores a 2026.2.25 contienen una vulnerabilidad de omisión de autenticación en el mecanismo de emparejamiento de la interfaz de usuario de control del proxy de confianza que acepta client.id=control-ui sin la verificación adecuada de la identidad del dispositivo. Un cliente websocket con rol de nodo autenticado puede explotar esto utilizando el identificador de cliente control-ui para omitir los requisitos de emparejamiento y obtener acceso no autorizado a los flujos de ejecución de eventos del nodo.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 3.1 | Primary | NVD | 7.1 | 2.8 | 4.2 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N |
| 3.1 | Primary | cve.org | 7.1 | — | — | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N |
| 3.1 | Secondary | NVD | 8.1 | 2.8 | 5.2 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| 3.1 | Secondary | GHSA | 7.1 | — | — | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N |
| 4.0 | Primary | cve.org | 6.0 | — | — | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N |
| 4.0 | Secondary | GHSA | 6.0 | — | — | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N |
| 4.0 | Secondary | NVD | 6.0 | — | — | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |