CVE-2020-25105

9.8 CRITICAL

📋 TL;DR

This vulnerability allows attackers to bypass password reset mechanisms in eramba by brute-forcing weak recovery tokens. Affected systems include eramba c2.8.1 and Enterprise versions before e2.19.3, potentially enabling unauthorized account access.

💻 Affected Systems

Products:
  • eramba Community
  • eramba Enterprise
Versions: c2.8.1 and Enterprise versions before e2.19.3
Operating Systems: All platforms running eramba
Default Config Vulnerable: ⚠️ Yes
Notes: All installations with default password reset functionality are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover leading to data theft, privilege escalation, and lateral movement within the system.

🟠

Likely Case

Unauthorized access to user accounts, potential exposure of sensitive information, and session hijacking.

🟢

If Mitigated

Limited impact with proper monitoring and rate limiting, but still presents authentication bypass risk.

🌐 Internet-Facing: HIGH - Password reset functionality is typically internet-accessible, making brute-force attacks feasible from anywhere.
🏢 Internal Only: MEDIUM - Internal attackers could exploit this, but external threat is more significant.

🎯 Exploit Status

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

The vulnerability requires only 1 million attempts to brute-force tokens, which is feasible with automated tools.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: e2.19.3 for Enterprise, Community version should be updated to latest

Vendor Advisory: https://discussions.eramba.org/t/bug-security-vulnerabilities-not-serious/1650/2

Restart Required: Yes

Instructions:

1. Backup your eramba installation and database. 2. Download and install the patched version from official eramba sources. 3. Restart the web server and eramba services. 4. Verify the fix by testing password reset functionality.

🔧 Temporary Workarounds

Rate Limit Password Reset Requests

linux

Implement rate limiting on password reset endpoints to prevent brute-force attacks.

# Configure web server rate limiting (example for nginx):
limit_req_zone $binary_remote_addr zone=reset:10m rate=5r/m;
location /password-reset {
    limit_req zone=reset burst=10 nodelay;
}

Disable Password Reset Functionality

all

Temporarily disable password reset feature until patching is complete.

# Modify eramba configuration to disable password reset
# Edit config file and set password reset to disabled

🧯 If You Can't Patch

  • Implement strong network-level rate limiting on password reset endpoints
  • Enable multi-factor authentication for all user accounts

🔍 How to Verify

Check if Vulnerable:

Check eramba version in administration panel or by examining source files. Versions c2.8.1 (Community) or Enterprise versions before e2.19.3 are vulnerable.

Check Version:

Check eramba admin panel or examine /app/Config/version.php file

Verify Fix Applied:

After updating, verify the version shows e2.19.3 or later for Enterprise, or latest Community version. Test password reset functionality to ensure tokens are sufficiently random.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed password reset attempts from single IP
  • Unusual password reset success patterns
  • Account access from new locations shortly after password reset

Network Indicators:

  • High volume of requests to password reset endpoints
  • Patterned requests to /users/requestPasswordReset or similar endpoints

SIEM Query:

source="eramba_logs" AND (url="*password-reset*" OR url="*requestPasswordReset*") | stats count by src_ip | where count > 100

🔗 References

📤 Share & Export