Vulnerability Description
Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo `siteId` value as a bare, unquoted JavaScript expression inside a <script> block rendered on every public status page: `_paq.push(['setSiteId', ${escapedSiteIdHTMLAttribute}]);`. The escaping pipeline used (jsesc with isScriptContext:true, then html-escaper.escape()) does not escape the characters `]`, `)`, `;`, `(`, which are sufficient to break out of the array/push expression context. A siteId value such as `1]);alert(document.cookie)//`, once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/<slug> page, enabling session-cookie theft and full page takeover.
CVSS Score
HIGH
Related Weaknesses (CWE)
References
- https://github.com/louislam/uptime-kuma
- https://github.com/louislam/uptime-kuma/blob/master/server/analytics/matomo-anal
FAQ
What is CVE-2026-71285?
CVE-2026-71285 is a vulnerability with a CVSS score of 8.1 (HIGH). Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo `siteId` value as a bare, unquoted JavaScript expression inside a <script> block...
How severe is CVE-2026-71285?
CVE-2026-71285 has been rated HIGH with a CVSS base score of 8.1/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-71285?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.