Vulnerability · Published Jul 5, 2023 · Assigned by GitHub_M
CVE-2023-36821Uptime Kuma vulnerable to authenticated remote code execution via malicious plugin installation
High 8.8
In plain English
A high-severity improper input validation in uptime-kuma from louislam. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 2.0% (higher than 81% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Uptime Kuma, a self-hosted monitoring tool, allows an authenticated attacker to install a maliciously crafted plugin in versions prior to 1.22.1, which may lead to remote code execution. Uptime Kuma allows authenticated users to install plugins from an official list of plugins. This feature is currently disabled in the web interface, but the corresponding API endpoints are still available after login. After downloading a plugin, it's installed by calling `npm install` in the installation directory of the plugin. Because the plugin is not validated against the official list of plugins or installed with `npm install --ignore-scripts`, a maliciously crafted plugin taking advantage of npm scripts can gain remote code execution. Version 1.22.1 contains a patch for this issue.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | uptime-kuma | 1.22.1 | GHSA-7grx-f945-mj96 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| louislam | uptime-kuma | < 1.22.1 |
Weakness: CWE-20 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- https://github.com/louislam/uptime-kuma/security/advisories/GHSA-7grx-f945-mj96 x_refsource_CONFIRM
- https://github.com/louislam/uptime-kuma/pull/3346 x_refsource_MISC
- https://github.com/louislam/uptime-kuma/blob/8c60e902e1c76ecbbd1b0423b07ce615341cb850/server/plugins-manager.js#L210-L216 x_refsource_MISC
- https://github.com/louislam/uptime-kuma/releases/tag/1.22.1 x_refsource_MISC