CVE-2024-36111

6.3 MEDIUM

📋 TL;DR

KubePi versions 1.6.3 through 1.7.x have a critical JWT authentication bypass vulnerability. Attackers can forge valid JWT tokens using an empty signing key to bypass login verification and gain unauthorized access to the Kubernetes management panel. This affects all deployments using default configurations.

💻 Affected Systems

Products:
  • KubePi
Versions: 1.6.3 through 1.7.x (all versions before 1.8.0)
Operating Systems: All platforms running KubePi
Default Config Vulnerable: ⚠️ Yes
Notes: Default configuration files contain empty JWT keys, making all fresh installations vulnerable. The vulnerability exists even though the system attempts to generate a random key at runtime.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the KubePi instance allowing attackers to manage Kubernetes clusters, deploy malicious workloads, access sensitive cluster data, and potentially pivot to other systems.

🟠

Likely Case

Unauthorized administrative access to KubePi panel leading to unauthorized Kubernetes operations, data exposure, and potential privilege escalation within the cluster.

🟢

If Mitigated

Limited impact with proper network segmentation and additional authentication layers, but still represents a significant authentication bypass.

🌐 Internet-Facing: HIGH - Internet-facing KubePi instances are trivially exploitable with public knowledge of the vulnerability.
🏢 Internal Only: HIGH - Internal instances are still vulnerable to insider threats or compromised internal systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires no authentication and can be performed with simple JWT manipulation tools. The advisory includes technical details that facilitate exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.0

Vendor Advisory: https://github.com/1Panel-dev/KubePi/security/advisories/GHSA-8q5r-cvcw-4wx7

Restart Required: Yes

Instructions:

1. Backup current configuration and data. 2. Stop KubePi service. 3. Upgrade to version 1.8.0 using your deployment method (Docker, binary, etc.). 4. Verify the JWT key in configuration is properly set. 5. Restart KubePi service.

🔧 Temporary Workarounds

Manual JWT Key Configuration

all

Manually set a strong JWT signing key in the configuration file to override the empty default.

Edit KubePi configuration file and set 'jwt.key' to a secure random string (minimum 32 characters)
Restart KubePi service after configuration change

🧯 If You Can't Patch

  • Immediately restrict network access to KubePi instances using firewall rules to only allow trusted IPs
  • Implement additional authentication layer (reverse proxy with authentication, VPN, or network segmentation)

🔍 How to Verify

Check if Vulnerable:

Check KubePi version: if between 1.6.3 and 1.7.x, you are vulnerable. Also check configuration file for empty JWT key.

Check Version:

Check KubePi web interface or deployment logs for version information, or inspect container/image tags if using Docker.

Verify Fix Applied:

Verify version is 1.8.0 or higher, and confirm JWT key in configuration is a non-empty secure string.

📡 Detection & Monitoring

Log Indicators:

  • Unusual authentication patterns
  • Successful logins without proper credentials
  • JWT verification failures followed by successful access

Network Indicators:

  • Unauthorized API calls to KubePi endpoints
  • Traffic from unexpected sources to KubePi service

SIEM Query:

source="kubepi" AND (event="authentication_failure" OR event="jwt_verification_error") | stats count by src_ip

🔗 References

📤 Share & Export