CVE-2020-10539

9.8 CRITICAL

📋 TL;DR

This vulnerability allows authentication bypass in Epikur software by using a hardcoded backdoor password. Any attacker who discovers this password can log in as any user without knowing their actual credentials. All Epikur installations before version 20.1.1 are affected.

💻 Affected Systems

Products:
  • Epikur
Versions: All versions before 20.1.1
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All installations are vulnerable regardless of configuration. The backdoor password '3p1kursupport' is hardcoded in the checkPasswort() function.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise where attackers gain administrative access, steal sensitive data, modify configurations, and potentially pivot to other systems.

🟠

Likely Case

Unauthorized access to user accounts leading to data theft, privilege escalation, and potential lateral movement within the network.

🟢

If Mitigated

Limited impact with proper network segmentation, strong monitoring, and immediate credential rotation after detection.

🌐 Internet-Facing: HIGH - Internet-facing Epikur servers are directly exploitable by anyone who knows the backdoor password.
🏢 Internal Only: HIGH - Internal systems are vulnerable to insider threats or attackers who have breached the network perimeter.

🎯 Exploit Status

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

Exploitation requires only knowledge of the backdoor password. No special tools or skills needed beyond basic HTTP requests.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 20.1.1

Vendor Advisory: https://www.x41-dsec.de/lab/advisories/x41-2020-003-epikur

Restart Required: Yes

Instructions:

1. Download Epikur version 20.1.1 or later from official vendor sources. 2. Backup current installation and data. 3. Apply the update following vendor documentation. 4. Restart Epikur services. 5. Verify the fix by attempting to authenticate with the backdoor password (should fail).

🔧 Temporary Workarounds

Network Access Control

all

Restrict network access to Epikur servers to only trusted IP addresses and networks.

# Example firewall rule (Linux iptables): iptables -A INPUT -p tcp --dport [EPIKUR_PORT] -s [TRUSTED_NETWORK] -j ACCEPT
# Example firewall rule (Windows): New-NetFirewallRule -DisplayName 'Restrict Epikur' -Direction Inbound -LocalPort [EPIKUR_PORT] -RemoteAddress [TRUSTED_NETWORK] -Action Allow

Password Policy Enforcement

all

Implement account lockout policies and monitor for failed login attempts to detect exploitation attempts.

# Configure account lockout (example for Linux PAM): auth required pam_tally2.so deny=5 unlock_time=900
# Configure account lockout (Windows): net accounts /lockoutthreshold:5 /lockoutduration:30 /lockoutwindow:30

🧯 If You Can't Patch

  • Immediately change all user passwords and enforce strong password policies
  • Implement network segmentation and restrict Epikur server access to only necessary users/systems

🔍 How to Verify

Check if Vulnerable:

Attempt to authenticate to Epikur using the password '3p1kursupport' with any username. If authentication succeeds, the system is vulnerable.

Check Version:

Check Epikur web interface or configuration files for version information. Consult vendor documentation for specific version check commands.

Verify Fix Applied:

After patching, attempt authentication with '3p1kursupport' password. Authentication should fail. Also verify the server version is 20.1.1 or later.

📡 Detection & Monitoring

Log Indicators:

  • Successful logins with unusual usernames
  • Multiple failed login attempts followed by success with different usernames
  • Logins occurring from unexpected IP addresses or locations

Network Indicators:

  • Authentication requests containing the password '3p1kursupport' in plaintext or MD5 hash
  • Unusual authentication patterns or timing

SIEM Query:

source="epikur_logs" AND (event_type="authentication_success" AND (username="*" AND password_hash="md5_of_3p1kursupport")) OR (event_type="authentication_failure" AND password="3p1kursupport")

🔗 References

📤 Share & Export