CVE-2021-21013

8.1 HIGH

📋 TL;DR

This CVE describes an Insecure Direct Object Reference (IDOR) vulnerability in Magento's customer API module. Attackers can access or modify other users' account information without proper authorization. Affected systems include Magento 2.4.1 and earlier, 2.4.0-p1 and earlier, and 2.3.6 and earlier.

💻 Affected Systems

Products:
  • Adobe Magento Commerce
  • Adobe Magento Open Source
Versions: Magento 2.4.1 and earlier, 2.4.0-p1 and earlier, 2.3.6 and earlier
Operating Systems: All platforms running Magento
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all installations with customer API module enabled, which is typically enabled by default.

📦 What is this software?

Magento by Adobe

Magento (now Adobe Commerce) is a leading open-source e-commerce platform powering hundreds of thousands of online stores worldwide, processing billions in transactions across B2C, B2B, and marketplace models. Used by brands including Nike, Ford, Coca-Cola, Olympus, and thousands of mid-market retai...

Learn more about Magento →

Magento by Adobe

Magento (now Adobe Commerce) is a leading open-source e-commerce platform powering hundreds of thousands of online stores worldwide, processing billions in transactions across B2C, B2B, and marketplace models. Used by brands including Nike, Ford, Coca-Cola, Olympus, and thousands of mid-market retai...

Learn more about Magento →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of customer data including personal information, payment details, and ability to modify orders or account settings for all users.

🟠

Likely Case

Unauthorized access to customer profiles, exposure of personal information, and potential account takeover for targeted users.

🟢

If Mitigated

Limited impact with proper API authentication and authorization controls, potentially only affecting users with weak session management.

🌐 Internet-Facing: HIGH - Magento stores are typically internet-facing e-commerce platforms accessible to attackers.
🏢 Internal Only: MEDIUM - Internal users could exploit this if they have API access, but external attackers pose greater risk.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires API access but is straightforward once authenticated. IDOR vulnerabilities are commonly exploited in the wild.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Magento 2.4.2, 2.4.1-p1, 2.3.7

Vendor Advisory: https://helpx.adobe.com/security/products/magento/apsb21-08.html

Restart Required: Yes

Instructions:

1. Backup your Magento installation and database. 2. Update to Magento 2.4.2, 2.4.1-p1, or 2.3.7 using the standard Magento update process. 3. Clear cache and reindex. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable Customer API Module

all

Temporarily disable the vulnerable customer API module until patching is possible.

php bin/magento module:disable Magento_Customer

Restrict API Access

all

Implement IP whitelisting or additional authentication layers for API endpoints.

Configure web server (Apache/Nginx) to restrict access to /rest/* endpoints

🧯 If You Can't Patch

  • Implement strict API authentication with multi-factor authentication
  • Deploy a Web Application Firewall (WAF) with IDOR protection rules

🔍 How to Verify

Check if Vulnerable:

Check Magento version via admin panel or run: php bin/magento --version

Check Version:

php bin/magento --version

Verify Fix Applied:

Verify version is 2.4.2, 2.4.1-p1, or 2.3.7 or later. Test API endpoints for proper authorization checks.

📡 Detection & Monitoring

Log Indicators:

  • Unusual API access patterns
  • Multiple failed authorization attempts on customer endpoints
  • API requests accessing customer IDs not belonging to the authenticated user

Network Indicators:

  • Unusual traffic to /rest/V1/customers/* endpoints
  • API requests with sequential or brute-forced customer IDs

SIEM Query:

source="magento_access.log" AND (uri_path="/rest/V1/customers/*" AND NOT user_agent="legitimate_bot") | stats count by src_ip, uri_path

🔗 References

📤 Share & Export