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 <script> 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/<slug> page, enabling session-cookie theft and full page takeover.
Published: 2026-08-05
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Uptime Kuma’s Matomo analytics integration renders a <script> block on every public status page that contains the administrator‑configurable siteId value as a raw, unquoted JavaScript expression. An attacker who can edit the siteId can insert arbitrary code, such as a comma‑separated payload that closes the current statement and injects a new command. When the malicious value is saved, the unescaped script is executed in every browser that views the public /status/<slug> page, allowing the attacker to steal session cookies or perform any JavaScript action on the page. This stored XSS flaw (CWE‑79) provides full page takeover for unauthenticated visitors.

Affected Systems

The flaw appears in all installations of Uptime Kuma that have the Matomo analytics feature enabled; the vulnerability is not limited to a specific version number based on the information provided. Any user with administrative privileges who can change the siteId setting is able to inject the malicious payload. Non‑admin users and the public are only the victims of the injection.

Risk and Exploitability

With a CVSS score of 8.1 the vulnerability is high‑severity. The EPSS score of <1% indicates a low likelihood of exploitation, and the vulnerability is not listed in CISA KEV. The attack requires an authenticated admin to insert a crafted siteId value; once set, every unauthenticated visitor to the public /status/<slug> page will be exposed to the injected script. The consequence is session‑cookie theft and the potential for full page takeover, which can impact confidentiality, integrity, and availability of the public status page.

Generated by OpenCVE AI on August 10, 2026 at 21:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update to the latest release of Uptime Kuma that contains a fix for the Matomo siteId sanitization issue.
  • If a firmware update is not possible, temporarily disable the Matomo analytics integration or remove the siteId setting entirely.
  • Replace the siteId value with a simple numeric string and enforce a validation rule that allows only digits; this mitigates the injection vector.

Generated by OpenCVE AI on August 10, 2026 at 21:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
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. 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 <script> 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/<slug> page, enabling session-cookie theft and full page takeover.
Title Uptime Kuma - Stored XSS via Matomo Analytics Site ID on Public Status Pages Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages

Mon, 10 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Title Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages Uptime Kuma - Stored XSS via Matomo Analytics Site ID on Public Status Pages

Wed, 05 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Louislam
Louislam uptime-kuma
Vendors & Products Louislam
Louislam uptime-kuma

Wed, 05 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
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.
Title Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N'}


Subscriptions

Louislam Uptime-kuma
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-10T11:47:12.802Z

Reserved: 2026-08-05T12:23:34.968Z

Link: CVE-2026-71285

cve-icon Vulnrichment

Updated: 2026-08-05T15:52:08.105Z

cve-icon NVD

Status : Received

Published: 2026-08-05T13:24:53.210

Modified: 2026-08-10T12:17:31.150

Link: CVE-2026-71285

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T21:30:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')