Local File Inclusion (LFI) via Improper URL Handling in uptime-kuma's `Real-Browser` monitor
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| louislam | uptime-kuma | 1.23.0 to before 1.23.16; = 2.0.0-beta.0 | 1.23.16 | Patch available | CNA |
| — | uptime-kuma (npm) | 1.23.0 to before 1.23.16 | 1.23.16 | Patch available | GHSA-2qgm-m29m-cj2h |
| — | uptime-kuma (npm) | 2.0.0-beta.0 to before 2.0.0-beta.1 | 2.0.0-beta.1 | Patch available | GHSA-2qgm-m29m-cj2h |
- uptime-kuma Vendorlouislam Affected 1.23.0 to before 1.23.16; = 2.0.0-beta.0 Fixed in 1.23.16 Patch available CNA
- uptime-kuma (npm) Vendor— Affected 1.23.0 to before 1.23.16 Fixed in 1.23.16 Patch available GHSA-2qgm-m29m-cj2h
- uptime-kuma (npm) Vendor— Affected 2.0.0-beta.0 to before 2.0.0-beta.1 Fixed in 2.0.0-beta.1 Patch available GHSA-2qgm-m29m-cj2h
Remediation
- Fix · CNA uptime-kuma (louislam) Fixed in 1.23.16
- Fix · GHSA-2qgm-m29m-cj2h uptime-kuma (npm) Fixed in 1.23.16 Advisory →
- Fix · GHSA-2qgm-m29m-cj2h uptime-kuma (npm) Fixed in 2.0.0-beta.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2024-56331
- 2026-10-03 Alias added: GHSA-2qgm-m29m-cj2h
References
More louislam vulnerabilities
- TI-2026-51249 Path traversal in louislam dockge CVSS 4.0HIGH 8.7
- TI-2026-49952 Uptime Kuma Stored XSS via Matomo Analytics Site ID on Public Status Pages CVSS 3.1HIGH 8.1
- TI-2026-83016 Race condition in Uptime Kuma lets attackers create extra admins CVSS 4.0MEDIUM 6.3
Sources
- CVE-2024-56331 · CVE Program
- CVE-2024-56331 · NVD
- FIRST EPSS
- GHSA-2qgm-m29m-cj2h · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences