{"id":"CVE-2026-71285","aliases":["EUVD-2026-53370","GHSA-pf4v-rpp4-fp6r"],"status":"published","title":"Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages","description":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo value as a bare, unquoted JavaScript expression inside a \u003cscript\u003e block rendered on every public status page. A siteId value such as , once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00382,"percentile":0.32472,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-08-05T12:26:30Z","modified":"2026-10-28T02:30:28Z","products":[{"vendor":"louislam","product":"uptime-kuma"}],"references":[{"url":"https://github.com/louislam/uptime-kuma","tags":["third-party-advisory","advisory"]},{"url":"https://github.com/louislam/uptime-kuma/blob/master/server/analytics/matomo-analytics.js","tags":["third-party-advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71285","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-pf4v-rpp4-fp6r"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71285.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-71285","title":"Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages","description":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo value as a bare, unquoted JavaScript expression inside a \u003cscript\u003e block rendered on every public status page. A siteId value such as , once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","status":"published","published":"2026-08-05T12:26:30.908Z","modified":"2026-08-10T11:47:12.802Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:49.559463Z"}],"euvd":[{"id":"EUVD-2026-53370","description":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo value as a bare, unquoted JavaScript expression inside a \u003cscript\u003e block rendered on every public status page. A siteId value such as , once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","status":"published","published":"2026-08-05T12:26:30Z","modified":"2026-08-10T11:47:12Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T18:02:05.732685Z"}],"ghsa":[{"id":"GHSA-pf4v-rpp4-fp6r","title":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the...","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 \u003cscript\u003e 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/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","status":"published","published":"2026-08-05T15:32:21Z","modified":"2026-08-05T15:32:29Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:10:07.328501Z"}],"nvd":[{"id":"CVE-2026-71285","description":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo value as a bare, unquoted JavaScript expression inside a \u003cscript\u003e block rendered on every public status page. A siteId value such as , once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","status":"published","published":"2026-08-05T13:24:53.21Z","modified":"2026-10-23T21:10:00.157Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:35.031043Z"}],"osv":[{"id":"CVE-2026-71285","title":"Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages","description":"Uptime Kuma's Matomo analytics integration (server/analytics/matomo-analytics.js) injects the admin-configurable Matomo value as a bare, unquoted JavaScript expression inside a \u003cscript\u003e block rendered on every public status page. A siteId value such as , once saved by an editor/admin, executes arbitrary JavaScript for every unauthenticated visitor of the public /status/\u003cslug\u003e page, enabling session-cookie theft and full page takeover.","status":"published","published":"2026-08-05T12:26:30.908Z","modified":"2026-10-28T02:30:28.954907812Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:15.164658Z"}]}}
