CVE-2026-41591
Published:May 08, 2026
Updated:May 16, 2026
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.
Affected Packages
https://github.com/marko-js/marko.git (GITHUB):
Affected version(s) >=marko@5.21.0 <marko@5.38.36Fix Suggestion:
Update to version marko@5.38.36https://github.com/marko-js/marko.git (GITHUB):
Affected version(s) >=@marko/runtime-tags@6.0.0 <@marko/runtime-tags@6.0.164Fix Suggestion:
Update to version @marko/runtime-tags@6.0.164marko (NPM):
Affected version(s) >=1.0.0-beta <5.38.36Fix Suggestion:
Update to version 5.38.36@marko/runtime-tags (NPM):
Affected version(s) >=0.1.1 <6.0.164Fix Suggestion:
Update to version 6.0.164Related Resources (3)
Do you need more information?
Contact UsCVSS v4
Base Score:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
NONE
Subsequent System Confidentiality
LOW
Subsequent System Integrity
LOW
Subsequent System Availability
NONE
CVSS v3
Base Score:
6.4
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
NONE
Weakness Type (CWE)
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
EPSS
Base Score:
0.03