XSS in Marko-Js Marko
CVE-2026-41591
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.
Vulnerability class: XSS (Cross-Site Scripting)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 6.4 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N.
EPSS exploit prediction
EPSS: 0.003 (16.5th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 17th percentile — 16.5% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.002 · newest: 0.003 · change: +0.000
Affected products
- Marko-Js Marko — versions marko < 5.38.36, @marko/runtime-tags < 6.0.164
- Openjsf Marko
- Openjsf Marko\/runtime-Tags
Weakness classification (CWE)
References
- github.com/marko-js/marko/security/advisories/GHSA-x9fj-57fh-c8wq (Exploit, Patch, Mitigation, Vendor Advisory)
Frequently asked questions
- What is CVE-2026-41591?
- CVE-2026-41591 is a medium-severity vulnerability in Marko-Js Marko, classified under Cross-site Scripting. CVSS score: 6.4/10. Published 2026-05-08.
- How severe is CVE-2026-41591?
- Medium severity. CVSS v3 base score is 6.4 out of 10.