Skip to main content

Outerbase Studio CVE-2026-55650

| EUVDEUVD-2026-78591 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-19 https://github.com/outerbase/studio GHSA-wwf9-7jrc-rv4q
4.4
CVSS 3.1 · Vendor: https://github.com/outerbase/studio
Share

Severity by source

Vendor (https://github.com/outerbase/studio) PRIMARY
4.4 MEDIUM
AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
vuln.today AI
4.4 MEDIUM

AV:L reflects purely client-side execution with no network reachability; PR:N since no role gatekeeps Text Widget authorship; UI:R because a second user must view the dashboard.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/outerbase/studio).

CVSS VectorVendor: https://github.com/outerbase/studio

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 19, 2026 - 23:45 vuln.today
Analysis Generated
Jun 19, 2026 - 23:45 vuln.today
CVE Published
Jun 19, 2026 - 21:18 github-advisory
MEDIUM 4.4

DescriptionCVE.org

Summary

A Stored Cross-Site Scripting (XSS) issue previously existed in the Text Widget in Board of Outerbase Studio where unsanitized HTML could be rendered using dangerouslySetInnerHTML

Steps to Reproduce

  1. Create a new dashboard.
  2. Add a Text widget.
  3. Insert the following payload:
html
<img src=x onerror="alert('XSS Executed\nToken: ' + localStorage.getItem('ob-token'))">

Architectural Context

Outerbase Cloud and its backend services were discontinued in 2025.

The current version of Outerbase Studio operates purely as a client-side application, with dashboard data stored locally in the browser.

Impact

In the current architecture, the impact is limited to local self-XSS within a user's browser session. The previously described scenarios involving:

  • authentication token theft
  • account takeover
  • database access

are no longer applicable since there are no active backend services or authentication tokens.

Remediation

The unsafe HTML rendering in the Text Widget has been removed in commit https://github.com/outerbase/studio/commit/b06fb85e5967440278d5a815721b360920566ab9 by eliminating the use of dangerouslySetInnerHTML.

AnalysisAI

Stored XSS in Outerbase Studio's Text Widget (npm/@outerbase/studio <= 0.10.2) allowed arbitrary HTML injection through React's dangerouslySetInnerHTML, enabling script execution in any user who viewed a malicious dashboard. The real-world severity is substantially reduced from legacy disclosures: Outerbase Cloud was discontinued in 2025, leaving the application as a purely client-side tool with no backend, no shared sessions, and no persistent authentication tokens - eliminating the originally described token-theft and account-takeover scenarios. No public exploit identified at time of analysis, though the advisory itself contains a functional reproduction payload.

Technical ContextAI

Outerbase Studio (pkg:npm/@outerbase_studio) is a React-based, client-side SQL workspace. The Text Widget component used a custom markdown-to-HTML pipeline that substituted patterns like bold into raw <b> tags via regex replacements on a mutable string, then passed the resulting string directly to React's dangerouslySetInnerHTML. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause: user-supplied text was transformed into HTML fragments without sanitization, so injection of event-handler attributes (e.g., onerror on a broken img tag) bypassed the intended markdown rendering entirely. The vulnerable code in src/components/chart/index.tsx has been replaced with a plain text rendering path (<span>{markdown}</span>) that bypasses HTML parsing altogether.

RemediationAI

The upstream fix is available as commit b06fb85e5967440278d5a815721b360920566ab9 (https://github.com/outerbase/studio/commit/b06fb85e5967440278d5a815721b360920566ab9), which removes the dangerouslySetInnerHTML rendering path in the Text Widget and replaces it with React's safe text-node rendering. No tagged release version incorporating this fix has been independently confirmed - the fixed-in field in the NVD record is absent, meaning consumers should track the repository directly for a patched npm release above 0.10.2. As a compensating control until a patched release is available, restrict the ability to create or import dashboards to trusted operators only, and avoid using the Text Widget in shared or embedded contexts. For self-hosted deployments, pinning the dependency to the post-commit build or forking and patching locally are viable interim approaches with no known functional side effects on core query features.

Share

CVE-2026-55650 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy