Monitor vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
7.1
OpenClaw macOS Dashboard Leaks Gateway Credentials
GHSA-rchv-x836-w7xp
Summary
The OpenClaw macOS app exposes Gateway credentials when opening the Control UI in a browser. This allows an attacker with access to the browser to steal and reuse the credentials. Update OpenClaw to version 2026.3.7 or later to fix this issue.
What to do
- Update openclaw to version 2026.3.7.
Affected software
| Vendor | Product | Affected versions | Fix available |
|---|---|---|---|
| – | openclaw | <= 2026.3.7 | 2026.3.7 |
Original title
OpenClaw's dashboard leaked gateway auth material via browser URL/query and localStorage
Original description
OpenClaw's macOS Dashboard flow exposed Gateway authentication material to browser-controlled surfaces.
Before the fix, the macOS app appended the shared Gateway `token` and `password` to the Dashboard URL query string when opening the Control UI in the browser. The Control UI then imported the token and persisted it into browser `localStorage` under `openclaw.control.settings.v1`.
This expanded exposure of reusable Gateway admin credentials into browser address-bar/query surfaces and persistent script-readable storage.
## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published version verified vulnerable: `2026.3.2`
- Affected range: `<= 2026.3.2`
- Patched version: `>= 2026.3.7`
## Impact
An attacker with access to browser-controlled surfaces or persistent browser storage could recover a valid Gateway admin token and reuse it against the OpenClaw management interface.
The exposure chain was:
1. macOS `Open Dashboard` constructed a URL with auth material.
2. The browser received that credential-bearing URL.
3. The Control UI imported the token from the URL.
4. The Control UI persisted the token in `localStorage`.
## Fix
The fix aligns the macOS Dashboard flow with the safer existing CLI/bootstrap pattern and removes persistent browser token storage:
- macOS Dashboard now passes the Gateway token via URL fragment instead of query parameters.
- macOS Dashboard no longer propagates the shared Gateway password into browser URLs.
- Control UI keeps Gateway tokens in memory only for the current tab.
- Control UI scrubs legacy persisted tokens from `openclaw.control.settings.v1` on load.
- Regression tests cover fragment transport, password omission, and token-scrubbing behavior.
## Fix Commit(s)
- `10d0e3f3ca92326df0ca071fabffe463742f263c` (March 7, 2026)
## Release Process Note
npm `2026.3.7` was published on March 8, 2026. This advisory is fixed in the released package.
Thanks @whiter6666 for reporting.
Before the fix, the macOS app appended the shared Gateway `token` and `password` to the Dashboard URL query string when opening the Control UI in the browser. The Control UI then imported the token and persisted it into browser `localStorage` under `openclaw.control.settings.v1`.
This expanded exposure of reusable Gateway admin credentials into browser address-bar/query surfaces and persistent script-readable storage.
## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published version verified vulnerable: `2026.3.2`
- Affected range: `<= 2026.3.2`
- Patched version: `>= 2026.3.7`
## Impact
An attacker with access to browser-controlled surfaces or persistent browser storage could recover a valid Gateway admin token and reuse it against the OpenClaw management interface.
The exposure chain was:
1. macOS `Open Dashboard` constructed a URL with auth material.
2. The browser received that credential-bearing URL.
3. The Control UI imported the token from the URL.
4. The Control UI persisted the token in `localStorage`.
## Fix
The fix aligns the macOS Dashboard flow with the safer existing CLI/bootstrap pattern and removes persistent browser token storage:
- macOS Dashboard now passes the Gateway token via URL fragment instead of query parameters.
- macOS Dashboard no longer propagates the shared Gateway password into browser URLs.
- Control UI keeps Gateway tokens in memory only for the current tab.
- Control UI scrubs legacy persisted tokens from `openclaw.control.settings.v1` on load.
- Regression tests cover fragment transport, password omission, and token-scrubbing behavior.
## Fix Commit(s)
- `10d0e3f3ca92326df0ca071fabffe463742f263c` (March 7, 2026)
## Release Process Note
npm `2026.3.7` was published on March 8, 2026. This advisory is fixed in the released package.
Thanks @whiter6666 for reporting.
osv CVSS3.1
7.1
Vulnerability type
CWE-200
Information Exposure
Published: 9 Mar 2026 · Updated: 13 Mar 2026 · First seen: 9 Mar 2026