GitHub Advisoryadvisory · npm

GHSA-37gc-85xm-2ww6 OpenClaw affected by Stored XSS in Control UI via unsanitized assistant name/avatar in inline script injection

MEDIUM Published 2026-02-18 Modified 2026-02-20 Official page ↗
Aliases
CVE-2026-27009
Ecosystem
npm
Packages
openclaw
Severity
Moderate
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N
Weaknesses
CWE-79
Reviewed
2026-02-18

Affected packages

• npm openclaw: < 2026.2.15 → fixed in 2026.2.15

Description

Summary Stored XSS in the OpenClaw Control UI when rendering assistant identity (name/avatar) into an inline `` tag without script-context-safe escaping. A crafted value containing `` 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.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 `` block using `JSON.stringify(...)`. `JSON.stringify` does not prevent `` 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.

Related

Alias · CVE (1)

Weakness · CWE (1)

  • CWE-79 Improper Neutralization of Input During Web Page Generation weakness

References