Skip to main content

Uptime Kuma CVE-2026-33130

| EUVDEUVD-2026-13670 MEDIUM
PHP Remote File Inclusion (CWE-98)
2026-03-20 GitHub_M
6.5
CVSS 3.1 · GitHub Advisory
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V5 - File Handling File inclusion prevention, allowlisting
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Command and Control

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

Impact

The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) assigns a score of 6.5, reflecting network-accessible attack surface, low attack complexity, low privilege requirement, and high confidentiality impact with no integrity or availability impact. The requirement for authenticated access (PR:L) significantly reduces real-world risk compared to unauthenticated exploits, as attackers must first obtain valid credentials or compromise an authorized user. However, the vulnerability is particularly dangerous in scenarios where Uptime Kuma is exposed to untrusted internal networks or where accounts have been compromised, as it enables direct access to sensitive files like configuration files, environment variables in /proc/self/environ, or SSH keys. The incomplete nature of the prior patch and the reliance on a side-effect (quote character failures) rather than explicit containment suggests this was a subtle bypass that may have been discovered through code review or variant analysis. Given the moderate CVSS score, authentication requirement, and file-read-only impact (no code execution), this presents a medium-priority remediation timeline, though organizations running Uptime Kuma in sensitive environments should prioritize patching.

Exploit ScenarioDerived

An authenticated attacker with access to Uptime Kuma's notification configuration could inject a template payload containing an unquoted absolute path such as {{include '/etc/passwd'}} in a notification template field. This payload would bypass the initial path restrictions in notification-provider.js and successfully resolve through the require.resolve() fallback in liquid.node.js, allowing the attacker to read and exfiltrate the contents of /etc/passwd or other sensitive server files. The low attack complexity and lack of user interaction requirement (CVSS UI:N) mean this could be reliably exploited by any user with notification configuration privileges, making it a practical information disclosure attack in multi-tenant or compromised-credential scenarios.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Mar 20, 2026

Uptime Kuma versions 1.23.0 through 2.2.0 contain an incomplete Server-Side Template Injection (SSTI) vulnerability in the LiquidJS templating engine that allows authenticated attackers to read arbitrary files from the server. A prior fix (GHSA-vffh-c9pq-4crh) attempted to restrict file path access through three mitigation options (root, relativeReference, dynamicPartials), but this fix only blocks quoted paths; attackers can bypass the mitigation by using unquoted absolute paths like /etc/passwd that successfully resolve through the require.resolve() fallback mechanism in liquid.node.js. The vulnerability requires low privileges (authenticated access) but can result in high confidentiality impact, making it a notable information disclosure risk for self-hosted monitoring deployments.

RemediationAI

Upgrade Uptime Kuma to version 2.2.1 or later immediately, as this version includes the complete fix for the LiquidJS file path containment issue (see https://github.com/louislam/uptime-kuma/releases/tag/2.2.1). For organizations unable to patch immediately, restrict network access to the Uptime Kuma instance to trusted administrative networks only, limit notification template usage to non-sensitive data, and audit all configured notification providers to ensure they do not include user-controlled template content. Additionally, review access control for Uptime Kuma user accounts and revoke credentials for any accounts that are not actively needed, since the vulnerability requires authenticated access. Monitor file access logs on the server for any suspicious access patterns targeting sensitive system files like /etc/passwd or configuration directories.

Affected VersionsENISA

uptime-kuma 1.23.0, < 2.2.1

Affected Packages

euvd uptime_kuma_1_23_0 fix: 2.2.1

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

The vulnerability exists in Uptime Kuma's use of the LiquidJS templating engine (a Node.js implementation of Shopify's Liquid template language) within the notification provider system. The root cause, classified as CWE-98 (Improper Control of Filename for Include/Require Statement in Program), stems from an incomplete implementation of file path constraints in notification-provider.js. The initial mitigation added three LiquidJS configuration options (root, relativeReference, dynamicPartials) intended to restrict template file resolution, but these options only prevent path traversal when paths are quoted. The third-stage file resolution mechanism in liquid.node.js uses Node.js's require.resolve() function without any containment checks, allowing unquoted absolute paths to bypass the first two stages of constraint. Quoted paths appear secured only incidentally because literal quote characters in the path argument cause require.resolve('"/etc/passwd"') to fail with MODULE_NOT_FOUND, not due to intentional security design. The affected product is Uptime Kuma (cpe:2.3:a:louislam:uptime-kuma:*:*:*:*:*:*:*:*), an open-source Node.js-based self-hosted monitoring tool.

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

GitHub Advisory PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

2
Patch available
Apr 16, 2026 - 05:29 EUVD
2.2.1
CVE Published
Mar 20, 2026 - 09:50 nvd
MEDIUM 6.5

DescriptionGitHub Advisory

Uptime Kuma is an open source, self-hosted monitoring tool. In versions 1.23.0 through 2.2.0, the fix from GHSA-vffh-c9pq-4crh doesn't fully work to preventServer-side Template Injection (SSTI). The three mitigations added to the Liquid engine (root, relativeReference, dynamicPartials) only block quoted paths. If a project uses an unquoted absolute path, attackers can still read any file on the server. The original fix in notification-provider.js only constrains the first two steps of LiquidJS's file resolution (via root, relativeReference, and dynamicPartials options), but the third step, the require.resolve() fallback in liquid.node.js has no containment check, allowing unquoted absolute paths like /etc/passwd to resolve successfully. Quoted paths happen to be blocked only because the literal quote characters cause require.resolve('"/etc/passwd"') to throw a MODULE_NOT_FOUND error, not because of any intentional security measure. This issue has been fixed in version 2.2.1.

Executive ViewAI

Why It Matters

Organizations using versions 1.23.0 should be aware of notable risk from CVE-2026-33130 rated CVSS 6.5. Exploitation could compromise the security of affected deployments. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Moderate
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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

Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Technical Impact
Partial

Priority Score

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

Attack Technique

Local File Inclusion vulnerabilities occur when an application accepts user-controlled input to specify which file should be loaded or executed, typically through functions like PHP's `include()`, `require()`, or `fopen()`.

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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-2026-71285 HIGH
8.1 Aug 05

Stored cross-site scripting in Uptime Kuma's Matomo analytics integration allows an admin or editor-level user to inject

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-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