CVE-2020-28199

9.1 CRITICAL

📋 TL;DR

The Amazon Pay Plugin for Shopware before version 9.4.2 exposes sensitive Amazon secret keys in publicly accessible JavaScript files. This allows unauthorized actors to steal Amazon API credentials, potentially compromising Amazon seller accounts and payment processing. All Shopware installations using vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • best it Amazon Pay Plugin for Shopware
Versions: All versions before 9.4.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Shopware installations with the Amazon Pay plugin enabled and configured.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal Amazon secret keys, gain full access to Amazon seller accounts, process fraudulent transactions, steal funds, and compromise customer payment data.

🟠

Likely Case

Attackers harvest Amazon API credentials to make unauthorized API calls, potentially accessing order data, initiating refunds, or making fraudulent purchases.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to credential rotation and potential temporary service disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires viewing page source or accessing JavaScript files. No authentication needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 9.4.2

Vendor Advisory: https://store.shopware.com/en/detail/index/sArticle/518463/number/Swag136330

Restart Required: No

Instructions:

1. Log into Shopware backend. 2. Navigate to Plugin Manager. 3. Find Amazon Pay Plugin. 4. Update to version 9.4.2 or later. 5. Clear Shopware cache.

🔧 Temporary Workarounds

Disable Amazon Pay Plugin

linux

Temporarily disable the vulnerable plugin until patched

php bin/console plugin:deactivate SwagAmazonPay

Block Access to JavaScript Files

all

Restrict access to plugin JavaScript files via web server configuration

# Add to .htaccess for Apache: <Files "amazon-pay*">
    Order allow,deny
    Deny from all
</Files>
# Nginx: location ~* /amazon-pay.*\.js$ { deny all; }

🧯 If You Can't Patch

  • Rotate all Amazon API keys immediately in Amazon Seller Central
  • Implement WAF rules to block access to /amazon-pay*.js paths

🔍 How to Verify

Check if Vulnerable:

Visit your Shopware storefront, view page source, search for 'amazon-pay' in JavaScript URLs, check if they contain Amazon secret keys in plain text.

Check Version:

php bin/console plugin:list | grep -i amazon

Verify Fix Applied:

After updating, verify plugin version is 9.4.2+ in Shopware backend, and check page source no longer exposes Amazon keys in JavaScript.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Amazon API calls from unexpected IPs
  • Multiple failed Amazon API authentication attempts

Network Indicators:

  • External requests to /amazon-pay*.js files
  • Outbound connections to Amazon API from unauthorized sources

SIEM Query:

source="web_access_logs" AND uri="/amazon-pay*" AND response_code=200

🔗 References

📤 Share & Export