CVE-2024-56331
Description
Uptime Kuma is an open source, self-hosted monitoring tool. An Improper URL Handling Vulnerability allows an attacker to access sensitive local files on the server by exploiting the file:/// protocol. This vulnerability is triggered via the "real-browser" request type, which takes a screenshot of the URL provided by the attacker. By supplying local file paths, such as file:///etc/passwd, an attacker can read sensitive data from the server. This vulnerability arises because the system does not properly validate or sanitize the user input for the URL field. Specifically: 1. The URL input (<input data-v-5f5c86d7="" id="url" type="url" class="form-control" pattern="https?://.+" required="">) allows users to input arbitrary file paths, including those using the file:/// protocol, without server-side validation. 2. The server then uses the user-provided URL to make a request, passing it to a browser instance that performs the "real-browser" request, which takes a screenshot of the content at the given URL. If a local file path is entered (e.g., file:///etc/passwd), the browser fetches and captures the file’s content. Since the user input is not validated, an attacker can manipulate the URL to request local files (e.g., file:///etc/passwd), and the system will capture a screenshot of the file's content, potentially exposing sensitive data. Any authenticated user who can submit a URL in "real-browser" mode is at risk of exposing sensitive data through screenshots of these files. This issue has been addressed in version 1.23.16 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
uptime-kumanpm | >= 1.23.0, < 1.23.16 | 1.23.16 |
uptime-kumanpm | >= 2.0.0-beta.0, < 2.0.0-beta.1 | 2.0.0-beta.1 |
Affected products
1- Range: 1.0.0, 1.0.1, 1.0.10, …
Patches
25bb329fa0e8a6cfae01a0d37Merge commit from fork
3 files changed · +11 −3
package.json+1 −1 modified@@ -24,7 +24,7 @@ "start-frontend-devcontainer": "cross-env NODE_ENV=development DEVCONTAINER=1 vite --host --config ./config/vite.config.js", "start": "npm run start-server", "start-server": "node server/server.js", - "start-server-dev": "cross-env NODE_ENV=development node server/server.js", + "start-server-dev": "cross-env NODE_ENV=development node server/server.js --data-dir=./data/v1/", "build": "vite build --config ./config/vite.config.js", "test": "node test/prepare-test-server.js && npm run jest-backend", "test-with-build": "npm run build && npm test",
package-lock.json+2 −2 modified@@ -1,12 +1,12 @@ { "name": "uptime-kuma", - "version": "1.23.14", + "version": "1.23.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "uptime-kuma", - "version": "1.23.14", + "version": "1.23.15", "license": "MIT", "dependencies": { "@grpc/grpc-js": "~1.8.22",
server/monitor-types/real-browser-monitor-type.js+8 −0 modified@@ -193,6 +193,14 @@ class RealBrowserMonitorType extends MonitorType { const context = await browser.newContext(); const page = await context.newPage(); + // Prevent Local File Inclusion + // Accept only http:// and https:// + // https://github.com/louislam/uptime-kuma/security/advisories/GHSA-2qgm-m29m-cj2h + let url = new URL(monitor.url); + if (url.protocol !== "http:" && url.protocol !== "https:") { + throw new Error("Invalid url protocol, only http and https are allowed."); + } + const res = await page.goto(monitor.url, { waitUntil: "networkidle", timeout: monitor.interval * 1000 * 0.8,
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- github.com/advisories/GHSA-2qgm-m29m-cj2hghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2024-56331ghsaADVISORY
- github.com/louislam/uptime-kuma/commit/6cfae01a0d3727c517afe512fc8fec1d99acf875nvdWEB
- github.com/louislam/uptime-kuma/releases/tag/1.23.16ghsaWEB
- github.com/louislam/uptime-kuma/security/advisories/GHSA-2qgm-m29m-cj2hnvdWEB
News mentions
0No linked articles in our index yet.