CVE-2025-49957

7.1 HIGH

📋 TL;DR

This vulnerability allows attackers to inject malicious scripts into web pages generated by the Email Attachment by Order Status & Products WordPress plugin. When users visit a specially crafted URL, their browsers execute the attacker's scripts, potentially stealing session cookies or performing actions on their behalf. All WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Email Attachment by Order Status & Products WordPress Plugin
Versions: n/a through <= 1.0.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with this specific plugin installed and activated.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, take over WordPress sites, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise and data theft.

🟠

Likely Case

Attackers steal user session cookies or credentials, perform actions as authenticated users, or redirect users to phishing pages to harvest login information.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized before reaching users' browsers, preventing any exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Reflected XSS typically requires user interaction (clicking a malicious link) but is straightforward to exploit once the vulnerable parameter is identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: >1.0.1

Vendor Advisory: https://patchstack.com/database/Wordpress/Plugin/email-attachment-by-order-status-products/vulnerability/wordpress-email-attachment-by-order-status-products-plugin-1-0-1-cross-site-scripting-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Email Attachment by Order Status & Products'. 4. If update is available, click 'Update Now'. 5. If no update appears, deactivate and delete the plugin, then install the latest version from WordPress repository.

🔧 Temporary Workarounds

Web Application Firewall (WAF)

all

Deploy a WAF with XSS protection rules to block malicious requests containing script payloads.

Input Validation Filter

all

Implement server-side input validation to sanitize all user inputs before processing.

🧯 If You Can't Patch

  • Deactivate and remove the vulnerable plugin immediately
  • Implement Content Security Policy (CSP) headers to restrict script execution sources

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Email Attachment by Order Status & Products' version 1.0.1 or earlier.

Check Version:

wp plugin list --name='email-attachment-by-order-status-products' --field=version

Verify Fix Applied:

Verify plugin version is >1.0.1 in WordPress admin panel and test vulnerable endpoints with XSS payloads that should be properly sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual GET/POST requests containing script tags or JavaScript code in parameters
  • Multiple failed XSS attempts from same IP

Network Indicators:

  • HTTP requests with suspicious parameters containing <script>, javascript:, or encoded payloads

SIEM Query:

source="web_logs" AND (uri="*<script>*" OR uri="*javascript:*" OR uri="*%3Cscript%3E*")

🔗 References

📤 Share & Export