Skip to main content
Vulnerability Database/CVE-2026-91922

CVE-2026-91922: Steedos Platform XSS Vulnerability

CVE-2026-91922 is a reflected cross-site scripting flaw in Steedos Platform that enables attackers to execute malicious JavaScript and steal authentication tokens. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2026-91922 Overview

CVE-2026-91922 is a reflected cross-site scripting (XSS) vulnerability in the Steedos Platform through version 3.0.15-beta.47. The flaw resides in the anonymous /api/page/render endpoint, which fails to properly escape query parameters when rendering them inside inline script elements. Attackers can craft malicious links containing script-terminating sequences in the schemaApi or data parameters to execute arbitrary JavaScript in a victim's browser session. Successful exploitation enables theft of X-Auth-Token credentials, allowing account takeover of authenticated Steedos users. The vulnerability is tracked as CWE-79: Improper Neutralization of Input During Web Page Generation.

Critical Impact

Attackers can steal X-Auth-Token credentials from authenticated Steedos users by tricking them into clicking a crafted URL, leading to session hijacking and account takeover.

Affected Products

  • Steedos Platform versions through 3.0.15-beta.47
  • The vulnerable service-pages module using page_render.router.js
  • Deployments exposing the anonymous /api/page/render endpoint

Discovery Timeline

  • 2026-09-15 - CVE-2026-91922 published to NVD
  • 2026-09-15 - Last updated in NVD database

Technical Details for CVE-2026-91922

Vulnerability Analysis

The Steedos Platform exposes an unauthenticated route at /api/page/render that generates HTML pages using an EJS template. User-controlled query parameters, specifically schemaApi and data, are interpolated directly into inline <script> blocks in the page_view.ejs template without JavaScript-context encoding. Because the reflection occurs inside a script element rather than an HTML attribute or text node, standard HTML entity escaping does not neutralize the payload. An attacker can supply a value containing a </script> sequence to break out of the script context and inject arbitrary JavaScript that executes in the origin of the Steedos instance.

Root Cause

The root cause is improper neutralization of untrusted input in a JavaScript execution context [CWE-79]. The route handler in page_render.router.js passes query parameters to the EJS template, which renders them using expressions that HTML-escape output but do not perform JavaScript string escaping. Values embedded inside <script> tags therefore retain characters such as <, >, ", and ' in their literal form, allowing the string to terminate the enclosing script element.

Attack Vector

Exploitation requires a victim with an active Steedos session to visit an attacker-controlled URL. The attacker crafts a link targeting /api/page/render with a malicious schemaApi or data query parameter containing a script-terminating sequence followed by JavaScript. When the page loads, the injected script executes with the victim's origin privileges and reads the X-Auth-Token from browser-accessible storage or cookies. The captured token can then be exfiltrated to an attacker-controlled endpoint and reused to impersonate the victim. Technical specifics are documented in the VulnCheck Advisory for Steedos and Steedos Platform Issue #8354.

Detection Methods for CVE-2026-91922

Indicators of Compromise

  • Requests to /api/page/render containing </script> sequences or URL-encoded variants (%3C/script%3E) within the schemaApi or data query parameters.
  • Outbound HTTP requests from user browsers to unfamiliar domains shortly after visiting a Steedos page render URL, indicating token exfiltration.
  • Reuse of X-Auth-Token values from geographically or behaviorally anomalous source IP addresses.

Detection Strategies

  • Inspect web server and reverse proxy logs for anomalous query strings targeting the /api/page/render endpoint, particularly those containing angle brackets, event handler names, or javascript: schemes.
  • Deploy web application firewall (WAF) rules that flag reflected XSS payloads on the vulnerable path.
  • Correlate authentication events with recent page render requests to identify token replay from new devices or IP addresses.

Monitoring Recommendations

  • Enable full HTTP request logging on Steedos front-end proxies with query string retention for forensic review.
  • Monitor for spikes in traffic to /api/page/render from external referrers such as email, messaging platforms, or social media links.
  • Alert on session token usage patterns that indicate concurrent sessions or rapid geographic changes.

How to Mitigate CVE-2026-91922

Immediate Actions Required

  • Restrict or disable anonymous access to the /api/page/render endpoint at the reverse proxy or load balancer until a patched Steedos release is deployed.
  • Deploy WAF signatures that block requests to /api/page/render containing <, >, or </script> sequences in the schemaApi and data parameters.
  • Rotate any X-Auth-Token values suspected of exposure and invalidate active sessions for high-privilege accounts.

Patch Information

As of the NVD publication date, the Steedos Platform Repository tracks the issue in Steedos Platform Issue #8354. Administrators should monitor the repository for a fixed release beyond 3.0.15-beta.47 and upgrade as soon as a patched version becomes available. Review the vulnerable Steedos Page Render Router Code and Steedos Page View EJS Template to confirm the fix applies JavaScript-context encoding.

Workarounds

  • Apply strict Content Security Policy (CSP) headers that disallow inline script execution and restrict script sources to trusted origins.
  • Configure the X-Auth-Token cookie with HttpOnly and SameSite=Strict attributes to prevent script access and cross-site delivery.
  • Block or filter query parameters containing HTML or script metacharacters at an upstream proxy for the /api/page/render path.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.