GHSA-37gc-85xm-2ww6

Suggest an improvement
Source
https://github.com/advisories/GHSA-37gc-85xm-2ww6
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-37gc-85xm-2ww6/GHSA-37gc-85xm-2ww6.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-37gc-85xm-2ww6
Aliases
Published
2026-02-18T22:44:33Z
Modified
2026-02-20T17:02:59.385901Z
Severity
  • 5.8 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N CVSS Calculator
Summary
OpenClaw affected by Stored XSS in Control UI via unsanitized assistant name/avatar in inline script injection
Details

Summary

Stored XSS in the OpenClaw Control UI when rendering assistant identity (name/avatar) into an inline <script> tag without script-context-safe escaping. A crafted value containing </script> could break out of the script tag and execute attacker-controlled JavaScript in the Control UI origin.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected versions: <= 2026.2.14
  • Fixed in: >= 2026.2.15 (next release; fix is already merged on main)

Details

The gateway Control UI HTML response previously injected assistantName and assistantAvatar directly into an inline <script> block using JSON.stringify(...). JSON.stringify does not prevent </script> from terminating the script element, enabling stored XSS if an operator/admin sets the assistant identity to a malicious string.

OpenClaw’s Control UI is intended for local use only (see SECURITY.md); this advisory’s CVSS reflects a loopback-only/local-access deployment assumption.

Impact

An attacker with the ability to set assistant identity values (config or agent identity) could cause JavaScript execution for Control UI visitors, enabling token/session theft and privileged actions in the UI.

Fix

  • Removed inline script injection and serve bootstrap config from a JSON endpoint.
  • Added a restrictive Content Security Policy for the Control UI (script-src 'self', no inline scripts).

Fix Commit(s)

  • adc818db4a4b3b8d663e7674ef20436947514e1b
  • 3b4096e02e7e335f99f5986ec1bd566e90b14a7e

Release Process Note

This advisory pre-sets the patched version to the planned next release (2026.2.15). Once that version is published to npm, this advisory can be published without further edits.

Thanks @Adam55A-code for reporting.

Database specific
{
    "severity": "MODERATE",
    "cwe_ids": [
        "CWE-79"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-02-18T22:44:33Z",
    "nvd_published_at": "2026-02-20T00:16:17Z"
}
References

Affected packages

npm / openclaw

Package

Affected ranges

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

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-37gc-85xm-2ww6/GHSA-37gc-85xm-2ww6.json"