Description
Marko is a declarative, HTML-based language for building web apps. Prior to marko version 5.38.36 and prior to @marko/runtime-tags 6.0.164, when dynamic text is interpolated into a <script> or <style> tag the Marko runtime failed to prevent tag breakout when the closing tag used non-lowercase casing. An attacker able to place input inside a <script> or <style> block could break out of the tag with </SCRIPT>, </Style>, etc. and inject arbitrary HTML/JavaScript, resulting in cross-site scripting. This issue has been patched in marko version 5.38.36 and @marko/runtime-tags 6.0.164.
Published: 2026-05-08
Score: 6.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Marko is a framework for building web applications using an HTML-based template language. The vulnerability resides in the runtime when dynamic content is interpolated into <script> or <style> tags. The escaping logic mistakenly permits a closing tag to be written with mixed or upper‑case letters, such as </SCRIPT> or </Style>, thereby breaking out of the intended tag and allowing the attacker to inject arbitrary HTML or JavaScript. This results in a classic reflected cross‑site scripting flaw that can execute code in the victim’s browser context.

Affected Systems

The issue affects installations of the Marko runtime library prior to version 5.38.36 and the @marko/runtime-tags package prior to version 6.0.164. Any web application that renders user data inside <script> or <style> elements without additional safeguards is vulnerable.

Risk and Exploitability

The CVSS score of 6.4 indicates a moderate severity, and the vulnerability has not been listed in the CISA KEV catalog. Because the flaw is triggered by normal user-supplied content placed inside script or style blocks, an attacker can exploit it via the application’s public interfaces without requiring elevated privileges. The lack of an EPSS score does not negate the risk; the path to exploitation is straightforward and does not rely on special conditions beyond the presence of vulnerable Marko templates.

Generated by OpenCVE AI on May 8, 2026 at 19:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Marko to version 5.38.36 or later.
  • Upgrade @marko/runtime-tags to version 6.0.164 or later.
  • Implement a Content Security Policy that blocks inline script execution to mitigate potential XSS exposure while the patch is applied.

Generated by OpenCVE AI on May 8, 2026 at 19:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-x9fj-57fh-c8wq Marko: XSS via case-insensitive script/style closing tag bypass in runtime HTML escaping
History

Fri, 08 May 2026 22:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 08 May 2026 16:00:00 +0000

Type Values Removed Values Added
Description Marko is a declarative, HTML-based language for building web apps. Prior to marko version 5.38.36 and prior to @marko/runtime-tags 6.0.164, when dynamic text is interpolated into a <script> or <style> tag the Marko runtime failed to prevent tag breakout when the closing tag used non-lowercase casing. An attacker able to place input inside a <script> or <style> block could break out of the tag with </SCRIPT>, </Style>, etc. and inject arbitrary HTML/JavaScript, resulting in cross-site scripting. This issue has been patched in marko version 5.38.36 and @marko/runtime-tags 6.0.164.
Title Marko: XSS via case-insensitive script/style closing tag bypass in runtime HTML escaping
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-08T21:26:58.356Z

Reserved: 2026-04-21T14:15:21.960Z

Link: CVE-2026-41591

cve-icon Vulnrichment

Updated: 2026-05-08T17:08:56.881Z

cve-icon NVD

Status : Received

Published: 2026-05-08T16:16:11.167

Modified: 2026-05-08T22:16:30.647

Link: CVE-2026-41591

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-08T19:15:14Z

Weaknesses