CVE-2026-71285: Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages
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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-71285?
CVE-2026-71285 has a severity rating of 8.1, indicating a high risk vulnerability.
How do I fix CVE-2026-71285?
To fix CVE-2026-71285, ensure input validation and sanitization for the Matomo site ID to prevent XSS attacks.
What type of vulnerability is CVE-2026-71285?
CVE-2026-71285 is a stored cross-site scripting (XSS) vulnerability affecting Uptime Kuma.
What impact does CVE-2026-71285 have?
CVE-2026-71285 allows an attacker to execute arbitrary JavaScript in the context of users visiting affected public status pages.
Which software is affected by CVE-2026-71285?
CVE-2026-71285 affects Uptime Kuma, specifically related to its integration with Matomo analytics.