GHSA-jmmg-jqc7-5qf4

Suggest an improvement
Source
https://github.com/advisories/GHSA-jmmg-jqc7-5qf4
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-jmmg-jqc7-5qf4/GHSA-jmmg-jqc7-5qf4.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-jmmg-jqc7-5qf4
Aliases
Downstream
Published
2026-03-03T22:18:09Z
Modified
2026-03-20T21:18:50.813980Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
  • 5.7 (Medium) CVSS_V4 - CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
OpenClaw's browser-origin WebSocket auth hardening gap could enable loopback password brute-force chains
Details

This issue is a browser-origin WebSocket auth chain on local loopback deployments using password auth. It is serious, but conditional: an attacker must get the user to open a malicious page and then successfully guess the gateway password.

Context and Preconditions

OpenClaw’s web/gateway surface is designed for local use and trusted-operator workflows. In affected versions, a browser-origin client could combine three behaviors:

  • Origin checks not enforced for some non-Control-UI WebSocket client IDs.
  • Loopback auth attempts exempt from password-failure throttling.
  • Silent local pairing path available to browser-origin non-Control-UI clients.

Successful exploitation requires all of the following:

  • Gateway reachable on loopback (default).
  • Password auth mode in use.
  • Victim opens attacker-controlled web content.
  • Password is guessable within feasible brute-force/dictionary attempts.

Practical Impact

If the password is guessed, an attacker can establish an authenticated operator WebSocket session and invoke control-plane methods available to that role. This is not an unauthenticated internet-exposed RCE class issue by itself; it is a local browser-origin auth-hardening gap with meaningful impact under the conditions above.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected versions: <=2026.2.24 (latest published npm version as of February 26, 2026)
  • Patched versions : >=2026.2.25

Fix Commit(s)

  • c736f11a16d6bc27ea62a0fe40fffae4cb071fdb

Fix Details

  • Enforce browser-origin checks for direct browser WebSocket clients beyond Control UI/Webchat (trusted-proxy forwarded flows remain supported).
  • Apply browser-origin auth failure throttling with loopback exemption disabled.
  • Block silent auto-pairing for non-Control-UI browser-origin clients.

Release Process Note

patched_versions is pre-set to the planned next npm release (2026.2.25) so once that release is published, the advisory is published.

OpenClaw thanks @luz-oasis for reporting.

Database specific
{
    "github_reviewed": true,
    "github_reviewed_at": "2026-03-03T22:18:09Z",
    "cwe_ids": [
        "CWE-287",
        "CWE-307",
        "CWE-346"
    ],
    "severity": "MODERATE",
    "nvd_published_at": "2026-03-19T22:16:37Z"
}
References

Affected packages

npm / openclaw

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
2026.2.25

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-jmmg-jqc7-5qf4/GHSA-jmmg-jqc7-5qf4.json"
last_known_affected_version_range
"<= 2026.2.24"