CVE-2020-5777

9.8 CRITICAL

📋 TL;DR

CVE-2020-5777 allows remote attackers to bypass authentication in MAGMI (Magento Mass Importer) by overwhelming database connections and exploiting default credentials. This affects MAGMI installations prior to version 0.7.24 that are exposed to untrusted networks. Attackers can gain administrative access without valid credentials.

💻 Affected Systems

Products:
  • MAGMI (Magento Mass Importer)
Versions: All versions prior to 0.7.24
Operating Systems: Any OS running MAGMI
Default Config Vulnerable: ⚠️ Yes
Notes: Requires MAGMI to be installed and accessible, with MySQL max_connections lower than web server MaxRequestWorkers.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full administrative takeover of MAGMI interface leading to data manipulation, code execution, or complete Magento store compromise.

🟠

Likely Case

Unauthorized access to MAGMI functionality allowing import/export of product data, configuration changes, or data exfiltration.

🟢

If Mitigated

Authentication remains intact with proper connection limits and credential management.

🌐 Internet-Facing: HIGH - Directly exploitable from internet with predictable attack pattern.
🏢 Internal Only: MEDIUM - Requires internal network access but still exploitable.

🎯 Exploit Status

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

Exploit requires sending 151+ simultaneous requests to trigger database connection exhaustion, then using default credentials.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.7.24

Vendor Advisory: https://github.com/dweeves/magmi-git/commit/3a9c7f8b599c0f46eeda4d46551b3c6c2e6d5b0e

Restart Required: No

Instructions:

1. Download MAGMI 0.7.24 or later from official repository. 2. Replace existing MAGMI installation files. 3. Verify default credentials are changed or disabled.

🔧 Temporary Workarounds

Increase MySQL max_connections

linux

Set MySQL max_connections higher than web server MaxRequestWorkers to prevent connection exhaustion.

SET GLOBAL max_connections = 300;
Add 'max_connections=300' to my.cnf

Change default credentials

all

Modify or remove default magmi:magmi credentials in MAGMI configuration.

Edit magmi/conf/magmi.ini and change credentials

🧯 If You Can't Patch

  • Block external access to MAGMI interface using firewall rules or web server configuration.
  • Implement rate limiting to prevent simultaneous connection attacks.

🔍 How to Verify

Check if Vulnerable:

Check MAGMI version in web interface or magmi/version.txt file. If version < 0.7.24 and accessible, assume vulnerable.

Check Version:

cat magmi/version.txt

Verify Fix Applied:

Confirm version is 0.7.24 or later and test authentication with default credentials (should fail).

📡 Detection & Monitoring

Log Indicators:

  • Multiple 'Too many connections' MySQL errors
  • Authentication attempts with 'magmi' username
  • Unusual MAGMI access patterns

Network Indicators:

  • Burst of 150+ simultaneous requests to MAGMI endpoints
  • Traffic to /magmi/web/magmi.php

SIEM Query:

source='apache' AND (uri='/magmi/*' AND status=401) OR (mysql_error='Too many connections')

🔗 References

📤 Share & Export